[英]Ajax post returning empty $_POST
好吧,我想我生氣了,因為我之前做了一百萬次,現在我不能讓它發揮作用。 我正在使用一些簡單的JSON對PHP腳本執行ajax發布,然后從我的PHP返回JSON,但它當前顯示$ _POST為空數組。
這是我的js:
$.ajax({
type: "POST",
url: "/account/book-promo.php",
data: '{"firstName":"Peter" , "lastName":"Jones"}',
success: function(response) {
console.log(response);
}
});
我的PHP:
<?php
var_dump($_POST);
exit;
Firebug顯示我的請求正在使用POST,因為它應該和我的數據作為JSON發送但我收到的回復:
array(0) {
}
我唯一能想到的是有某種服務器設置阻止它工作,但是我不能想到為什么會這樣。 也許我錯過了一個支架或什么東西,它讓我發瘋!
歡迎任何和所有建議!
發送它就像你想發送它作為json。
data: { data : '{"firstName":"Peter" , "lastName":"Jones"}' },
如果你想把它作為POST
發送,只需刪除引號'
data: {"firstName":"Peter" , "lastName":"Jones"},
你必須這樣做:
$.ajax({
type: "POST",
dataType: "json", // <---------------its required if response is json
url: "/account/book-promo.php",
data: {"firstName":"Peter" , "lastName":"Jones"}, //<---instead of string send the object this way
success: function(response) {
console.log(response);
}
});
您在帖子中重新說明了我的PHP中的JSON :
所以就需要使用dataType:"json"
和數據要發送到PHP應作為發送對象(通常是雙鍵和值相隔:
像{key:value}
)作為您的代碼發送一個string
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.