我是网络服务新手。我有以下代码,当我尝试在本地主机上运行时,我没有提供所需的输出...它显示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);
答案 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);