[英]What happens to a page that receives an ajax post?
將$ .post制作到php頁面或任何其他類型的腳本時,如何在服務器端執行php文件?
例如,如果我有一個php頁面,該頁面查找要傳遞的特定參數,並且滿足要求,則它將調用echo向該頁面寫入內容。 但是,當我發表該文章時,實際的php頁面從未加載到我的瀏覽器中,那么究竟執行什么呢?
我感覺好像是在問……“如果一棵樹倒下而周圍沒有人,它還會發出聲音嗎?” :)
在AJAX調用中,服務器端執行與其他任何調用都沒有不同。 為了澄清起見,請查看瀏覽器調試工具(例如FireBug或Chrome工具)中的“網絡”標簽。 在頁面加載以及發出AJAX請求時,觀察對服務器的請求。 它們都具有相同的結構。
HTTP請求發送到服務器,該請求主要由標頭和內容組成,服務器以HTTP響應作為響應,HTTP響應主要由標頭和內容組成。 請求也有動詞(GET,POST等),響應也有代碼(200、404、500等)。 無論是否是AJAX請求,這些詳細信息都相同。
例如,如果要向“正常” PHP頁面發出AJAX請求,則在瀏覽器調試工具中將看到響應包含該頁面的所有HTML。 服務器沒有什么不同,它只是響應了請求。
由客戶端(Web瀏覽器)決定如何處理響應。 對於“正常”頁面加載,瀏覽器將呈現HTML頁面。 對於AJAX請求,JavaScript將需要處理響應。
就服務器(和PHP)而言,瀏覽器確實加載了頁面。 只是在客戶端看不到任何東西,但仍將“頁面”作為AJAX結果返回。
展示:
如果您的$.post
電話看起來像這樣:
$.post('test.php',
{ param1 : "value1" },
function(data) {
console.log(data)
}
);
和您的test.php
腳本看起來像這樣
<?php
echo $_POST["param1"]
?>
然后console.log(data)
將輸出"value1"
。
在$.post
調用的success
處理程序的第一個參數中可以使用您的php腳本echo
s。 它不會直接寫入您的html
頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.