Ajax请求返回HTTP 503,但脚本工作正常

时间:2015-05-04 10:07:27

标签: php jquery ajax http apache2

今天我遇到了ajax的问题​​。我正在这样做:

$.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作为get浏览器地址栏 - 它返回我期望的(字符串),但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

2 个答案:

答案 0 :(得分:0)

使用完整而不是成功和错误。

$.ajax({
    type: 'POST',
    url: 'http://hostname/controller/action',
    data: {param1 : 'foo'},
    complete: function(response) {
      if(response['status'] === 200) {
        // success
        var data = response['responseJSON'];
        // ...
      } else {
        // ...
      }
    }
    });

答案 1 :(得分:0)

问题出现在服务器端,Zend被修改为总是返回503.感谢所有回复