PHP Web服务与json无法正常工作

时间:2012-12-12 09:09:05

标签: php jquery json

我是网络服务新手。我有以下代码,当我尝试在本地主机上运行时,我没有提供所需的输出...它显示FirstName:undefined LastName:undefined ..

以下是我的代码

$(document).ready(function(){
    var employees = [
  { "firstName":"John" , "lastName":"Doe" }
];
$.ajax({
    url: "MyService.php",
    type: "POST",
    data: employees,
    dataType: "json",
    success:function(data) {
        alert("Firstname:"+data.firstName+", LastName: "+data.lastName);
        },
    error:function(data) {
        alert('error');
    }  });
});

php代码是

echo json_encode($_POST);

1 个答案:

答案 0 :(得分:2)

data的值应该是一个对象。您正在传递包含对象的数组。摆脱阵列。

此:

    var employees = [
  { "firstName":"John" , "lastName":"Doe" }
];

...正在向服务器提交以下内容:

undefined=

应该是:

var employees = { 
    "firstName": "John",
    "lastName":"Doe"
};

将提交此内容:

firstName=John&lastName=Doe

此外,您似乎没有指定Content-Type标头,因此PHP默认为text/html。这迫使你编写一个JavaScript,上面写着“不要相信服务器,将其视为JSON而不是HTML”。

你可以用以下方法解决这个问题:

header('Content-Type: application/json');
echo json_encode($_POST);
相关问题