2

私は次のコードを使用しています:

    $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data: jsonData,
        success: wrapped,
        error: function (error) {
            console.info("Json post failed");
        }
    });

MVC4アクションにjsonデータを投稿するのにうまく機能します。ただし、newtonsoft シリアライザーとカスタム JsonResult を使用する特定のアクションが 1 つあります。このアクションを呼び出すと、正しいデータとステータス 200 OK が返されます。しかし、JQuery はエラー コールバックを呼び出し、error.state() は「拒否」されます。

これはなぜですか?エラーから応答を取り出して、次のようにします。 var o = eval(jsonresponse); 必要なデータが得られます。

この応答と少し異なる点は、.NET 日付が実際の JavaScript コード (new Date(0492342392)) としてシリアル化されることだけです。それが jquery がエラー コールバックを呼び出す理由ですか?

アイデア?

[編集]

応答jsonは次のとおりです。

[{"name":"Bench Press","data":
[{"date":new Date(1372975200000),
"id":"70a7b32b-befc-45e2-a589-1eafc0149c8a",
 "bodyWeight":80.0,"reps":13,"weight":100.0}]}]

データが空の場合、この特定の呼び出しは失敗しないため、これが失敗する日付のようです。

では、json で真の JavaScript 日付を返す正しい方法は何でしょうか?

4

1 に答える 1