Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jqueryajax请求不返回(没有HTTP状态码)并保持挂起状态_Php_Ajax_Jquery - Fatal编程技术网

Php jqueryajax请求不返回(没有HTTP状态码)并保持挂起状态

Php jqueryajax请求不返回(没有HTTP状态码)并保持挂起状态,php,ajax,jquery,Php,Ajax,Jquery,我有几个这样的要求: $('#some-button').on('click', function(e) { e.preventDefault(); $this = $(this); $.ajax({ url: 'some_request.php/?q='+$some_id, dataType: 'json', success: function(data) { alert(

我有几个这样的要求:

   $('#some-button').on('click', function(e) {
      e.preventDefault(); 
      $this = $(this);
      $.ajax({
         url: 'some_request.php/?q='+$some_id,
         dataType: 'json',
         success: function(data) {
            alert('success!')
         }          
      }); 
   });
也就是说,很多AJAX请求都是在点击按钮时启动的。根据Chrome-无JS警报,此请求保持“挂起”。没有HTTP响应代码返回。我认为它只是坐在那里等待回应,而没有得到回应

问题类似于:但答案没有帮助。在我的PHP或HTML代码中,我没有使用会话


有什么想法吗?非常感谢。

您确定您请求的Php文件位于同一个域上吗?通常在进行大多数web浏览器不允许的跨域Ajax调用时会发生这种情况。如果是这样的话,你就必须试一试。这里有一个很好的实例说明:

我认为您需要一个jQuery Ajax错误处理函数。这是:

// jQuery Ajax Error Handling Function
$.ajaxSetup({
    error: function(jqXHR, exception) {
        if (jqXHR.status === 0) {
            alert('Not connect.\n Verify Network.');
        } else if (jqXHR.status == 404) {
            alert('Requested page not found. [404]');
        } else if (jqXHR.status == 500) {
            alert('Internal Server Error [500].');
        } else if (exception === 'parsererror') {
            alert('Requested JSON parse failed.');
        } else if (exception === 'timeout') {
            alert('Time out error.');
        } else if (exception === 'abort') {
            alert('Ajax request aborted.');
        } else {
            alert('Uncaught Error.\n' + jqXHR.responseText);
        }
    }
});
现在调用ajax函数:

$.ajax({
    url: 'some_request.php/?q=' + $some_id,
    dataType: 'json',
    success: function(data) {
        alert('success!')
    }
}); 

并检查您得到的错误

PHP文件绝对是本地文件。请尝试在
$.ajax
中设置
超时
选项。我猜是服务器端代码的问题,而且它;It’没有返回500状态好的,我有一个超时。。我该怎么办?等待一定时间后重新发送请求?可能是服务器代码问题,需要调试。还可以添加一些AJAX错误处理。见文件。还要检查浏览器控制台中的请求,以确保已定义并正在发送
$some\u id