JSONオブジェクトをAJAXリクエストからサーバーに送信しようとしています。
私は次のようにJQueryでこれを行っています:
$.ajax({
type: "POST",
url: settings.ajax.post,
dataType: 'json',
data: basket.aggregate(Basket.EXPORT_JSON, qty),
success: function(data, textStatus, jqXHR) {
if (typeof settings.ajax.success == "function") settings.ajax.success(data, textStatus, jqXHR);
},
error: function(jqXHR, text, e) {
if (typeof settings.ajax.error == "function") settings.ajax.error(jqXHR, text, e);
}
});
URLは、サーバー上の次のファイルを指します。
<?php
$to = "<my-email-address>";
$subject = "JSON test";
$message = "POST dump:\n\n";
foreach($_POST as $key=>$value)
{
$message .= $key . ":" . $value;
}
mail ($to, $subject, $message);
exit;
?>
しかし、Firebugでは正しいデータがサーバーに送信されたことがわかりますが、POST変数は空のようです。
各リクエストが送信された後、未定義のエラーでajaxエラー関数が呼び出されます(サーバーからの応答がなかったためだと思いますか?それともわかりませんか?)