Php Ajax post返回空$\u post

Php Ajax post返回空$\u post,php,jquery,ajax,Php,Jquery,Ajax,好吧,我想我快发疯了,因为我以前做过一百万次,现在我不能让它工作了。我正在用一些简单的JSON向PHP脚本发送ajax post,然后从我的PHP返回JSON,但是它当前将$\u post显示为一个空数组 这是我的js: $.ajax({ type: "POST", url: "/account/book-promo.php", data: '{"firstName":"Peter" , "lastName":"Jones"}', success: function(respon

好吧,我想我快发疯了,因为我以前做过一百万次,现在我不能让它工作了。我正在用一些简单的JSON向PHP脚本发送ajax post,然后从我的PHP返回JSON,但是它当前将$\u 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;
我能想到的唯一一件事是,有某种服务器设置阻止了它的工作,但是我想不出为什么会有。也许我错过了一个支架什么的,它快把我逼疯了


欢迎提出任何建议

如果您想以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);
  }
});
$.ajax({
类型:“POST”,

数据类型:“json”//您只是发送了一个没有键的字符串。而不是在第一种情况下使用键
data
发送数据。好吧,这是有道理的。我不敢相信我没有发现这一点!谢谢您删除数据周围的引号:
data:{“firstName”:“Peter”,“lastName”:“Jones”},
。您可能还需要添加
数据类型:“json”,
$.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);
  }
});