サーバー上のphpファイルにデータを送信しようとしています。これは という関数の内部ですsend(message)
。このメソッドを使用して、他のデータを正常に送受信しました。別のメッセージで同じメソッドを使用しようとすると、すぐに失敗しtextStatus="error"
、errorThrown=""
.
alert(JSON.stringify(message));
$.ajax({
type: 'POST',
cache: false,
url: '/web_db_service.php',
data: JSON.stringify(message),
dataType: 'text',
success: doneCallback
}).fail(function(jqXHR, textStatus, errorThrown) {
alert("Fail " + textStatus + ": " + errorThrown);
doneCallback(null);
}).always(function(jqXHR, textStatus, errorThrown) {
alert("Always " + textStatus + ": " + JSON.stringify(errorThrown));
});
メソッドの最初のアラートには、次のように表示されます。
{
"method":"write",
"className":"Account",
"id":"test@test.com",
"object":"
{
\"id\":\"test@test.com\",
\"password\":\"hashedpw\",
\"first\":\"Tester\",
\"last\":\"Testing\",
\"zip\":\"78945\",
\"phone\":\"11231234\",
\"children\":
[
{
\"id\":null,
\"first\":\"Child\",
\"middle\":null,
\"last\":\"Person\",
\"interests\":[]
}
]
}
}
渡されるデータの構成に関係していると思いますが、それが何であるかはわかりません。php ファイルは、現在渡されたデータを単純にエコーします。これは、別のより単純なメッセージに対して機能します。
編集:問題は、メッセージが送信されて戻ってくるのを待たずに、ウィンドウを変更するのが早すぎたことが判明しました。