私は、クレジットカードの有効期限を確認し、アラートを表示する機能を作成しています。このため、私は新しいDate()を使用して集計しましたが、JSはクライアント側で実行されるため、クライアントマシンの日付が表示されることに気付きました。サーバ側の日付を取得する方法
サーバー側から日付を取得してから、クライアント側でクレジットカードの有効性を確認する必要があります。どうやってやるの ?
私は、クレジットカードの有効期限を確認し、アラートを表示する機能を作成しています。このため、私は新しいDate()を使用して集計しましたが、JSはクライアント側で実行されるため、クライアントマシンの日付が表示されることに気付きました。サーバ側の日付を取得する方法
サーバー側から日付を取得してから、クライアント側でクレジットカードの有効性を確認する必要があります。どうやってやるの ?
以前のプロジェクトでも同じ問題がありました。私たちはそれについて簡単な機能を作りました。バックエンドから来る文字列、新しいDate()をパラメータとしてとります。
var convertToDateWithoutClientOffset = function(dateString) { return new Date(dateString.substr(0, 4), dateString.substr(5, 2) - 1, dateString.substr(8, 2), dateString.substr(11, 2), dateString.substr(14, 2), dateString.substr(17, 2)); };
それは醜いですが、それは動作します。 たとえば、2016-04-18A11:00:00.000
がパラメータとして返されます。この関数は、+3時間のタイムゾーンにあるため、Mon Apr 18 2016 11:00:00 GMT+0300 (FLE Daylight Time)
を返します。
最も簡単な方法は、AJAXリクエストをバックエンドにするためにhttps://docs.angularjs.org/api/ng/service/$httpを使用することです。より多くの例を参照するか、単に以下を使用するためにリンクをクリックしてください:
$http.get('/someUrl').then(successCallback, errorCallback);
function successCallback(response) {
// server side date is returned here:
var serverAnswer = response.data;
...
}
function errorCallback(response) {
...
}
、返されるデータの必要な書式を設定するのを忘れ(はリンクページのHTTPヘッダ章の設定を参照)、または
を使用しないでください$http.get('/someUrl', config).then(...)
$ http作業の調査のため。
また、https://docs.angularjs.org/api/ngResource/service/$resourceを同じものとして使用することもできます(その使用法は$ httpの使用法よりも推奨されます)。
何らかの方法でページにサーバーの日付を出力するか、AJAX応答を作成する必要があります。 – casraf