Wordpress實現自定義ajax請求


Wordpress實現ajax請求,分為兩種情況:登錄用戶發起的ajax請求和未登錄用戶發起的ajax請求.

通過ajax傳遞的數據中,action是一個固定字段,而且action字段所對應的值必須和hook名稱中的后綴(下述hook里的 your_action_name 部分)相匹配.Wordpress也是借此來區分不同的ajax請求.



1.登錄用戶發起ajax請求

涉及一個hook : wp_ajax_(your_action_name)

處理ajax的后端php代碼

 

js代碼


值得注意的是,自從Wordpress 2.8開始,后台界面已經自動賦值了一個js全局變量ajaxurl,因此,在上述情況下,js代碼中可以直接引用此全局變量作為ajax的請求路徑.





2.未登錄用戶發起ajax請求

涉及另一個hook : wp_ajax_nopriv_(your_action_name)



需要注意: 和情況1不同的地方,前端界面沒有可供直接引用的ajaxurl,所以必須通過一個wordpress函數 wp_localize_script() 來實現把路徑變量通過php傳遞給前端js,例如:

這樣,我們在js代碼里讀取對象test_ajax的ajaxu


這里的對象變量test_ajax只能由對應js文件中的代碼訪問,也就是上例中的script.js.

處理ajax的后端php代碼

 

js代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM