Ajax请求返回HTTP 503,但脚本正常工作
问题描述:
今天我陷入了与Ajax的问题。我正在做这个请求:Ajax请求返回HTTP 503,但脚本正常工作
$.ajax({
type: 'POST',
url: 'http://hostname/controller/action',
data: {param1 : 'foo'},
timeout: 5000,
success: function(data) {
alert(data);
},
error: function(data) {
console.log(data)
}
});
基于Zend的服务器端脚本。服务器 - apache2。脚本的响应是我期望的,但HTTP代码是503(服务暂时不可用)。 如果我打开这个URL作为浏览器地址栏获取 - 它返回我期望的(字符串),但HTTP响应代码也是503.
什么可能导致它?
UPD:操作包含echo "Some string";
GET或POST - 不重要。 插头:
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:18
Content-Type:application/x-www-form-urlencoded
Host:hostname
Origin:http://hostname
Referer:http://hostname/controller
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36
X-Requested-With:XMLHttpRequest
答
问题是在服务器端,Zend公司是modifyied总是返回所有回复
答
使用完成而不是成功和错误。
$.ajax({
type: 'POST',
url: 'http://hostname/controller/action',
data: {param1 : 'foo'},
complete: function(response) {
if(response['status'] === 200) {
// success
var data = response['responseJSON'];
// ...
} else {
// ...
}
}
});
503谢谢你能请发送的动作代码?行动中发生了什么? –
您是否也可以发布请求标头和正在传入的主体 - 在网络面板中检查chrome开发工具。 –
在浏览器中它是GET方法,并且在ajax中使用POST方法,因此响应必须不同,具体取决于您的Web服务是如何定义的。 – Codelord