您需要使用die();
来结束ajax请求的原因是什么?我读过,当它的唯一目的是用于AJAX调用时,建议使用die()
或exit()
来终止脚本吗?
当输出是脚本中的最后一件事时,这是否适用于我的脚本?因为我的index.php文件加载环境,从控制器获取内容然后最后一件事是使用echo输出数据。它可以是ajax的JSON编码数据,也可以是非ajax的HTML内容。我可以通过检查它是否是一个ajax调用来添加最后的模具,但我不明白为什么我会在这里需要它。
// index.php
// Load environment
require '../load.php';
// Handle request
$controller = new App\Controllers\Controller();
$content = $controller->doRequest();
// Output the content
echo $content;
// Terminate script with die() for AJAX requests (is this needed?)
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
die();
}
答案 0 :(得分:0)
如果您使用其中一个可以自行输出其他数据的php-framework,那么您需要使用exit
另外,不要忘记不要在脚本末尾使用?>
。您可以在php结束标记后留空行,这样如果您不使用exit
另外,不要忘记register_shutdown_function
- 它会在exit
之后立即运行,因此exit
是阻止在echo $content;
之后添加任何其他关闭功能的好方法
您不能在此具体脚本中使用exit
,但也不要忘记删除?>