[英]Using PHP's die() to end AJAX requests
為什么需要使用die();
的原因是什么? 結束ajax請求? 我了解到,當其唯一目的是用於AJAX調用時,建議使用die()
或exit()
終止腳本?
當輸出是腳本中的最后內容時,是否建議將其用於我的腳本? 因為我的index.php文件加載了環境,所以從控制器獲取了內容,所以最后一件事是使用echo輸出數據。 對於ajax,它可以是JSON編碼的數據,對於非ajax,則可以是HTML內容。 我可以通過檢查是否為ajax調用來最后添加die,但是我不明白為什么在這里需要它。
// 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();
}
如果您使用那些可以自行輸出其他數據的php-frameworks之一,則需要使用exit
另外,請不要忘記在腳本末尾不要使用?>
。 您可以在php結束標記后留空行,這樣,如果您不使用exit
,您的網絡服務器就會添加此空行來回答
另外,不要忘了register_shutdown_function
-它會在exit
后立即運行,因此exit
是防止在echo $content;
之后添加任何其他關閉函數的好方法echo $content;
您可能不能在此具體腳本中使用exit
,但也不要忘記刪除?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.