AJAX POST变量没有被php脚本读取


AJAX POST variable not being read by php script

为什么这对我不起作用?这是一个AJAX POST请求的php脚本,该脚本已经过测试,并与固定变量工作良好。

请求如下

 $.ajax({
type: "POST",
url: url,
data:{serial:id},
contentType:"application/json; charset=utf-8",
dataType: "json",
    success: function(data){}

我的php是

    <?php
header("Access-Control-Allow-Origin: *");
header('Content-type: application/json');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo 'POSTed'; 
 } //to test post
$account = $_POST['serial'];

后面跟着我的一个MySQL请求。

从我的控制台一切看起来都很好,除了我得到"未定义的索引:串行"作为我的响应。我已经尝试了许多不同的方式构建我的POST变量。它来自源代码,当查看时显示正确的变量。

var id =  localStorage.userAccount;

不需要在jquery.ajax中添加contentType:"application/json; charset=utf-8",。把它去掉,然后再试。