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