我正试图使用从ajax回调错误创建警报
alert(response.responseText);
然而,我得到了整个字符串的错误文本,如
"{"form_error": {"__all__": ["Data with this Doc and Date already exists."]}}"
这是由我的Django视图返回的。
我的ajax函数看起来像:
$.ajax({
type : 'POST',
url : ...,
dateType: 'json',
data: my_data,
success : function(response){
...
},
error : function(response, status, error){
var err = response.responseText;
alert("Error: " + err);
}
});
是否有一种方法只将相关文本显示为alert
给用户,例如:
err = "Data with this Doc and Date already exists."
alert(err);
如何仅将相关信息显示为警报在寻找可能的解决方案的过程中,我已经浏览了许多SO帖子,包括提取上述响应文本的子字符串的方法,但都没有奏效
PS。我试着在Django视图端使用regex,但我可以通过多次迭代来做到这一点,最后只能得出:
{"Error": "Data with this Doc and Date already exists"}
[注意花括号]
您收到的错误响应是一个json字符串。它是一个字符串化的json对象。您必须解析它才能访问json属性。之后,您可以加入包含错误消息的数组中的所有错误消息(在这种情况下只有一个,但由于它是一个数组,因此可以包含多个(
const err= JSON.parse(response.responseText).form_error.__all__.join("n");
alert(err);