2012-12-02 21 views
0

如何防止通常通過ajax加載的頁面被加載?例如,如果在main.php中,您通過ajax「cart.php」加載並將其解析爲本地div。當用戶嘗試直接加載cart.php時,用戶是否會被重定向到main.php?阻止ajax元素在沒有父項的情況下被加載

--comment:JavaScript是不是一種選擇

+0

使用的.htaccess或php是可能的。查找htaccess重定向和PHP'$ _SERVER'用於ajax調用和'header location' – Steven

回答

1

如果頁面通過AJAX加載這樣您可以檢測:

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') { 
     /* special ajax here */ 
     header("Location: http://www.example.com/main.php"); 
    } 
+0

注意'HTTP_X_REQUESTED_WITH'僅與某些主要ajax框架(如jQuery等)一起發送。它不是100%可靠的。 – Steven

+0

@Steven是的,我也注意到了這一點。我還沒有將此腳本轉換爲jQuery,因此HTTP_X_REQUESTED_WITH不起作用。我會通過htaccess看看你的解決方案,或者只是通過ajax發送一個變量,然後在php腳本中檢查它,如果它不存在則重定向... – bicycle

+1

使用jquery的另一個原因。 – itachi

相關問題