1

私は AngularJS を使用して MVC 4 プロジェクトに取り組んでいます。フォームに日付が記入されています。$http.post()を使用してサーバーにデータを投稿すると、奇妙な問題に直面しています。2013 年 1 月 1 日などの日付を投稿すると、サーバー上で 2012 年 12 月 31 日に変換され、サーバー投稿でエラーが発生します。コードベースで何が問題になっているのかわかりません。

あなたが私の質問を得たことを願っています。

4

1 に答える 1

0

日付を扱うときは、フロントエンドとバックエンドで日付がどのようにシリアル化されるかについて注意する必要があります。標準はありません。

ただし、あなたの説明と他のコンテキストの欠如を考えると、タイムゾーンの問題であると思われます。

  • ローカルで開発していますか?つまり、ブラウザとサーバーは同じマシンで実行されていますか?
  • (そうでない場合) サーバーが使用しているタイムゾーンは? UTC?

JSON 日付のシリアル化に関するいくつかの問題を詳述した投稿を次に示します。

シリアライゼーションで何が起こっているのかわからない場合は、curl(* nix またはおそらく cygwin ツール) または"Fiddler"などを使用して生の応答を確認できます。他に行うべきことは、明示的に日付のtoString()メソッドを使用して日付を文字列としてシリアル化し (.Net を使用していることをサーバー側でも変更して)、明示的に逆シリアル化を制御することです。

于 2013-09-17T07:07:48.413 に答える