Kir*_*ill 1 php ajax jquery timeout
我有这些代码:
<script>
$.ajaxSetup({
timeout:3000,
success: function(){alert('True!!!');},
error:function (){
alert('false');
}
});
$.ajax({
url:'test.php',
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的'test.php'是:
<?
sleep(8);
$124415;
?>
Run Code Online (Sandbox Code Playgroud)
因此它有解析器错误,但ajax立即返回"True",但如果第二行有注释,则等待3秒.并返回"false".任何想法?我有更改代码test.php:
<?
function shutdown() {
header("HTTP/1.0 500 Internal Server Error");
ob_flush();
}
ob_start();
register_shutdown_function('shutdown');
spl_autoload_register('foo');// Fatal Error => Ajax false
//$112123123;//if turn on will be Parse Error => Ajax true
?>
Run Code Online (Sandbox Code Playgroud)
所以现在ajax警告我有关致命错误,但Parser Error没有捕获.有人知道这个问题的好方法吗?
按设计工作.
如果出现解析器错误,PHP脚本将失败并立即终止.然而,在ajax端,这仍然是成功的,因为PHP 200 OK无论如何都会发送一个头.
(PHP会发送一个500致命错误头只有error_reporting和display_errors关闭.)
如果没有解析器错误,脚本将休眠8秒,达到3秒超时,从而导致Ajax错误.
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |