1. naoiwata

    Posted

    naoiwata
Changes in title
+Javascript でサーバの時刻を取得する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,48 @@
+
+非同期なのでしょうがないのでしょうか... もっとシンプルに書きたかったのですが.
+
+## サーバの時刻を取得する
+
+callback 関数の引数がサーバからのレスポンスの Date ヘッダを返す関数をつくっておきました.
+
+```coffee
+get_time = ->
+ dfd = $. Deferred()
+ $.ajax
+ type: 'GET',
+ url: '',
+ cache: false
+ .done (res, status, xhr) ->
+ date = new Date(xhr.getResponseHeader('Date'))
+ return dfd.resolve(date)
+ return dfd.promise()
+
+# 使い方
+get_time().done (date) ->
+ console.info(date) # Tue Apr 22 2014 19:30:43 GMT+0900 (JST)
+```
+
+## 何か JSON を取得したついでにそのサーバの Date ヘッダも欲しい
+
+```coffee
+get_json = (url, success_proc, fail_proc) ->
+ $.ajax
+ dataType: 'json',
+ url: url,
+ cache: false
+ .done (res, status, xhr) ->
+ date = new Date(xhr.getResponseHeader('Date'))
+ return success_proc(res, date)
+ .fail ->
+ fail_proc()
+
+# 使い方
+get_json 'hoge.json', (res, date) ->
+ ## 成功時の処理
+ console.info(date) # Tue Apr 22 2014 19:30:43 GMT+0900 (JST)
+, ->
+ ## 失敗時の処理
+ return
+```
+
+すっきりしないですね. 良いライブラリがないか探してみます.