1

私が開発した小さなphpサーバーがあります。サーバーは、彼に送信される json ファイルを提供するのを待ちます。

HTMLページを作成し、jqueryを使用してjsonファイルをサーバーに送信しようとしています。

ボタンがあり、それを押すと:

$("button").click(function(){

                     var data = '{"deviceUUID":"25f998", "os":"bb", "pushToken":"l1355436gdfsfaddsl"}';
                     alert("User: " + userId + "\n" + "Data: " + data);

                     $.ajax({
                         type: "POST",
                         url: "http://192.148.2.123/Server_CityInfo/register.php",
                         data: data,
                         contentType: "application/json; charset=utf-8",
                         dataType: "json"
                         });


                 });

ただし、サーバーに到着するjsonファイルは空です..サーバーが機能していることはわかっています.java、obj-c、c#を介してサーバーにポストリクエストを送信したためです...

ここで何が問題になる可能性がありますか?アラート出力のデータ変数:{"deviceUUID":"25f998", "os":"bb", "pushToken":"l1355436gdfsfaddsl"}これは、サーバーが受け入れる正しい json 形式です。

これは私のサーバー側、PHP

// We use php://input to get the raw $_POST results.
$json = file_get_contents('php://input');
$json_post = json_decode($json, true);

//creating variables from received json
$deviceUDID = $json_post['deviceUUID'];
$os = $json_post['os'];
$pushToken = $json_post['pushToken'];

deviceUUIDそのため、、、またはosそれらを印刷しようとすると、pushToken空になります。私のデータベースでは、それらは自動的に挿入され、 として表示されNULLます。これは、投稿リクエストが届いたが、空である...または間違った形式であることを意味します..

4

2 に答える 2

0

コンソールの表示は、ブラウザによって異なります。Chrome/ff : Ctrl + shift + i IE : f12 次に更新をクリックします

成功の部分については、ajax 呼び出しが終了したらコールバックを使用することを意味します。doneまたはfailまたはのいずれかを使用できますallways

$.ajax({
     type: "POST",
     url: "http://192.148.2.123/Server_CityInfo/register.php",
     data: data,
     contentType : "application/json; charset=utf-8",
     dataType: "json"
}).allways(function(response, status, xhr){
     console.log(response);
     console.log(status);
     console.log(xhr);
});

コンソールに呼び出しの結果が表示されます。

于 2013-05-17T15:56:30.417 に答える