2016-08-09 61 views
0

我對jquery不熟悉。我的代碼是

function edit(uID){ 
    var php = "body/weekly_deals.php"; 
    var data = {"edit" : "post is here"} 
    $.post(php, data,function(response){ 
    console.log(response); 
    }); 
} 

這是在WeeklyDeal.php上定義的。現在,在我的body/weekly_deals.php頁面上,var_dump($ _ POST ['edit']),我得到NULL,但是在console.log中,我看到值「post is here」字符串?所以,我很困惑。它怎麼會在那裏,但不是在同一時間?

+1

'var_dump($ _ POST,$ _SERVER ['REQUEST_METHOD'])''。確保沒有重定向或任何其他內容,並查看到達服務器的內容。 –

+0

put'; 'var data = {「edit」:「post is here」} – stweb

+0

@MarcB嘿,我做到了,我得到了數組(0){}字符串(3)「GET」這是怎麼回事? –

回答

0

我懷疑你誤解了這是如何工作的。

我的var_dump($ _ POST [ '編輯'])與我收到NULL

您措辭你的問題的方式,它聽起來像你沒有看到的是空在console.log(),這是什麼發生,如果你有var_dump並用ajax調用它。相反,這聽起來像是直接在瀏覽器中加載weekly_deals.php,並且由於這是一個GET請求,而不是POST請求,並且沒有參數被傳遞,所以它會回到空。

然而,在執行console.log,我看到值「後在這裏」串

權,因爲JavaScript使用POST方法進行的HTTP請求,並傳遞參數。


我想你可能會對HTTP請求的工作方式感到困惑。要分解它,你有一個資源作爲一個URI - 你知道這是網址。您可以用幾種不同的方式提問 - GET,POST,PUT等。瀏覽器在瀏覽頁面時向資源發出GET請求。 Web服務器返回響應並呈現它。

當您發出AJAX請求時,您所做的事情就請求生命週期而言非常相似。當您發出請求時,服務器呈現響應並將其發回。這就是爲什麼你的console.log()具有你期望看到的 - 因爲AJAX提出了服務器端期望得到的請求。當您直接在瀏覽器中導航到頁面時,這是錯誤的請求類型,因此您會看到錯誤的響應。

相關問題