簡體   English   中英

Ajax帖子返回空$ _POST

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM