1

次のように定義されたメソッドを持つWCFサービスがあります。

<WebGet(), OperationContract()>
    Public Function GetScene(cameraId As Integer, time As Date, bufferSize As Integer) As Scene

そして、次のようなJavaScript:

time = new Date("04/09/2013 23:59")
$.getJSON('../Services/CameraViewerService.svc/GetPreviousScene', 'cameraId=' + _cameraId + '&time=' + time.toUTCString() + '&bufferSize=20', function () {...});

クロムとファイアフォックスでは、クエリ文字列の日付は次のようになります。

Tue, 09 Apr 2013 23:59:00 GMT

WCF サービスはそれを問題なく消費しますが、Internet Explorer 9 を使用すると、クエリ文字列の日付は次のようになります。

Tue, 9 Apr 2013 23:59:00 UTC

WCF サービスは例外をスローします。

The string was not recognized as a valid DateTime. There is an unknown word starting at index 26.

これをすべてのブラウザで機能させる最善の方法は何ですか?

4

1 に答える 1

1

を使用できますtoISOString()

これは、認識されている標準の日付と時刻の形式の 1 つであるため、問題なく解析されるはずです。

IE8以前 toISOString()ではサポートされていませんが、最初のリンクの Mozilla ドキュメントには、関数がサポートされていない場合に使用できるシムの例があります。

于 2013-04-11T23:38:22.650 に答える