0

Webサービスを初めて使用します。次のコードを使用していますが、ローカルホストで実行しようとすると、必要な出力が得られません...表示されます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);
4

1 に答える 1

2

の値はdataオブジェクトでなければなりません。オブジェクトを含む配列を渡しています。配列を取り除きます。

これ:

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

… サーバーに以下を送信しています:

undefined=

そのはず:

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

これを提出します:

firstName=John&lastName=Doe

Content-Typeさらに、ヘッダーを指定していないように見えるため、PHP はデフォルトでtext/html. これにより、「サーバーを信じるな、これを HTML ではなく JSON として脅す」という JavaScript を書かざるを得なくなります。

次の方法で修正できます。

header('Content-Type: application/json');
echo json_encode($_POST);
于 2012-12-12T09:16:47.630 に答える