我希望解析服务器在ajax请求失败后以xml格式返回的错误。xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<errors>
<error>Full name can't be blank</error>
<error>Email can't be blank</error>
</errors>
我只是尝试从xml构建一个ul标记,并为xml响应中的每个错误使用安莉标记。响应的处理方式应该是输出这个超文本标记语言,并将其附加到id为“contactErrors”的div中:
<ul>
<li>Full name can't be blank</li>
<li>Email can't be blank</li>
</ul>
目前我有以下jQuery,但我不知道如何正确解析HTTP422(表单错误/无法处理的实体)响应。
$("#new_message").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "messages.xml",
data: $(this).serialize(),
cache: false,
statusCode: {
201: function(data) {
$("#new_message").slideUp();
$("#contactSuccess").fadeIn(2500);
},
422: function(data) {
// XML response should be processed here and can be accessed by calling $(data)
}
}
});
});
任何帮助都是非常感谢的!
发布于 2011-12-19 04:50:08
为什么不是JSon呢?对于XML,可以使用以下命令在操作中返回XML
return this.Content(xmlStringValue, "text/xml")
发布于 2011-12-19 05:40:01
JSON更适合于服务器客户端通信。在服务器端,您可以使用json_encode在PHP语言中将对象编码为JSON,在ASP.NET中使用JavaScriptSerializer将对象编码为JSON,等等。你可以在json.org上找到完整的列表(向下滚动)。解析它非常简单,因为它是一个有效的javascript代码,你只需要对它求值。
var myObject = eval('(' + myJSONtext + ')');
如果你想自己编写JSON,可以把它想象成一个普通的javascript对象,它包含有值的成员,这些值可以是数字、布尔值、数组或字符串。
https://stackoverflow.com/questions/8554661
复制相似问题