我正在尝试使用自定义http状态消息进行响应,并使用jQuery Ajax在客户端捕获它。
我想出了一种只针对错误消息(HTTP 4xx,5xx)的方法,但不是针对成功的http消息(HTTP 2xx)。
作为示例,我设法从HTTP 400 FROG CATCH
状态提取并警告'FROG CATCH',但无法提醒来自HTTP 200 FROG ESCAPE
是否有任何机构知道扩展jQuery ajax以支持这种架构的方法?
任何?
答案 0 :(得分:0)
AJAX响应基于成功和错误。如果您的内容返回200状态(OK),304(未修改)等...那么AJAX调用将使用您的成功响应部分,而不是您的错误部分,其中通常显示状态(错误部分中的状态主要是用来表明错误的原因)。根据您返回的内容以及您返回的格式,您应该在成功部分查找该响应。假设您的服务器语言是PHP,您可以在返回的数据中包含该成功状态(转换为JSON对象以进行解析),如下所示:
$.ajax({
url : 'your_url.php',
type : 'POST',
dataType : 'JSON',
data : yourData,
success : function(data) {
if(data) {
if(data.status) {
alert('Status: ' + data.status);
}
}
},
error : function(xhr, response, status) {
alert('Response: ' + response.responsetext);
}
});
通过将JSON对象用作状态载体,您可以自定义状态响应。至于查看实际服务器标头响应的内容,这将列在Chrome检查器的网络选项卡,Firebug中的网络选项卡或Safari的开发工具部分(我忘记了名称)。