當頁面調用正常時調用ajax是否有區別? 我的意思是我怎麼能找出一個頁面調用ajax或直接調用?php ajax和普通頁面的區別
回答
爲了區分正常的頁面加載和AJAX加載......有些可能會編碼到JS變量中傳遞給指示AJAX的PHP頁面。這可以讓你修改輸出爲JSON或任何你想做的事情。
其他人使用單獨的php腳本進行AJAX。
但是,有很多方法可以解決這個問題。更詳細的信息,如果你有問題,但這些可能是最簡單的。
編輯:如果您沒有看到作爲主註釋發佈的URL可能重複。這應該只回答你關於識別ajax請求的問題。
最知名的Ajax框架,如 jQuery和MooTools的添加特定的 頭,你可以用PHP檢查:
if (strcasecmp('XMLHttpRequest', $_SERVER['HTTP_X_REQUESTED_WITH']) === 0)
{
// Ajax Request
}
這麼認爲我添加一個額外的變量時,我想使用AJAX(財產以後像ajax = true)它是安全的方式嗎?當我使用ajax函數輸出將作爲JSON編碼回顯,並且它不是很好,當任何人寫URL並在URL的末尾追加「ajax = true」時請參閱編碼json代碼!比這種方式安全嗎? – Hamid 2011-04-18 18:25:35
我不是100%確定的,但我個人不會擔心人們故意轉到JSON URL時意外看到JSON。這將允許您在需要時測試您的代碼,並且您不應通過JSON響應提供任何正常頁面請求中未提供的有意義的數據 - 不要假設用戶無法看到它,導致這總是可能的。您可能會考慮在AJAX請求中使用POST而不是GET,這會讓人們更難以通過瀏覽器URL使用GET意外訪問它。祝你好運! – 2011-04-19 12:20:14
您可以將參數添加到通話,例如:
xmlhttp.open("GET","page.php?request=ajax",false);
,然後檢查它在PHP:
if($_GET['request'] == 'ajax'){
//this was called by ajax!
}
的
- 1. Ajax上傳和普通上傳的區別
- 2. JavaBean,POJO和普通類的區別?
- 3. 普通語言和普通語法之間的區別
- 4. 主頁和普通頁面中的CSS
- 5. MacVim和普通Vim有什麼區別?
- 6. EOF和普通整數有什麼區別?下面
- 7. 通過PHP和AJAX加載頁面
- 8. Sitecore頁面爲普通htmls
- 9. 面對Gson時,匿名類和普通派生類之間的區別?
- 10. 區分維基百科對普通頁面的歧義
- 11. Mandrill - global_merge_vars和普通merge_vars之間的區別
- 12. 抽象類擴展和普通類之間的區別延伸
- 13. pagebookview和普通視圖之間的區別
- 14. 休眠時JTA,JPA和普通JDBC之間的區別
- 15. 查找tarred文件夾和普通文件夾的區別
- 16. XMLHttpRequest和$ ajax的區別
- 17. ajax和jquery的區別?
- 18. 通過jQuery/Ajax調用PHP頁面
- 19. 維基頁面庫和頁面庫之間的區別?
- 20. 帖子和頁面有什麼區別
- 21. 使用普通AJAX/JS和Django的
- 22. 使用PHP和AJAX刷新頁面的新事件通知
- 23. 使用線程池和普通線程有什麼區別?
- 24. Quartz Scheduler和普通Java線程有什麼區別
- 25. 靜態結構和普通結構有什麼區別?
- 26. 在fancybox和普通頁面顯示不同的內容
- 27. 如何區分標誌枚舉和普通枚舉之間的區別?
- 28. 頁面大小和頁面表項大小有什麼區別
- 29. 頁面與session_destroy()和頁面之間有什麼區別
- 30. Rspec功能測試。頁面內容在普通用戶和管理員中沒有區別
可能重複[檢測的Ajax調用URL](http://stackoverflow.com/questions/3124636/detect-ajax-calling-url) – 2011-04-18 15:53:04