簡體   English   中英

使用PHP的die()結束AJAX請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM