質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

616閲覧

サーバーの時間を取得するのに、サーバー別の対応が必要なのでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/09/27 14:05

編集2017/09/27 14:06

##サーバーの時間を取得するのに、サーバー別の対応が必要なのでしょうか?
自分の周りの人の話によると、サーバーごとに特別な設定がいるのではないか、と言われました。

下記の実装例は、
JavaScriptを利用して、時間を取得するしています。

なお、独自のテスト環境サーバーでは問題なく時間を取得し表示されていることが確認できています。

下記の実装例をそのまま 又は 修正などして、
どのサーバーにアップしても問題なく表示できるようにしたいのですが・・・
サーバー設定について、まったく理解できていないので、ご助言をお願いしまうす。

###実装例

HTML

1<div class="count">日時<span id="server01"></span></div> 2<div class="count">年月日<span id="server02"></span></div>

css

1.count{ 2 width: 50%; 3 padding: 0.5em 1em; 4 border: 1px solid #000; 5} 6.count span{ 7 margin-left: 1em; 8} 9

javascript

1$.ajax({ 2 type: 'GET' 3}).done(function(data, status, xhr) { 4 var serverDate = new Date(xhr.getResponseHeader('Date')); 5 $('#server01').text(serverDate); 6}); 7 8$.ajax({ 9 type: 'GET' 10}).done(function(data, status, xhr) { 11 // 日時の取得 12 var serverDate = new Date(xhr.getResponseHeader('Date')); 13 14 // 年 15 var year = serverDate.getFullYear(); 16 // 月 17 var month = serverDate.getMonth() + 1; 18 // 日 19 var date = serverDate.getDate(); 20 21 $('#server01').text(serverDate); 22 $('#server02').text(year + "/" + month + "/" + date); 23});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

JavaScript

1var serverDate = new Date(xhr.getResponseHeader('Date'));

HTTPレスポンスヘッダ「Date」に依存しているので、サーバが Date ヘッダを返さないように設定されているのなら、確かに動きません。
ただ、Date ヘッダを返さないHTTPサーバは見たことがないですね。
ブラウザの開発者ツールやFiddler等でHTTPヘッダは確認可能なので、事前に確認してみる事をお勧めします。

ところで、コード上では GET メソッドを利用していますが、body が不要なら HEAD メソッドで十分だと思います。

Re: RedPepper さん

投稿2017/09/27 14:35

think49

総合スコア18156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/29 00:37

ご丁寧にありがとうございます。 なるほど、このまま流用しても問題なさそうですね。 「GET」「HEAD」は、「HEAD」で動かなかったので、「GET」にしています。 あと、質問文のHTMLには省略していますがbodyを記述しています。 重ねて質問なのですが、 サーバーの管理者権限がなくても、ブラウザの開発者ツールやFiddler等でHTTPヘッダは確認可能なのでしょうか? お時間がある時に、お返事いただけるとうれしいです。
think49

2017/09/29 01:53

ご質問のコードは、HTTPというプロトコルに沿ってHTTPサーバに通信リクエストする事を意味しているので、リクエスト先URIにHTTPサーバがインストールされており、HTTPサーバのポート番号(既定値は80)を指定していれば、確認可能です。 例えば、teratailの場合は https://teratail.com:80/ ですが、Webブラウザはポート番号が80の場合は、アドレスバーの表記においてポート番号を省略します。 http:// や https:// で始まるURIだと思ってもらっても構いません。
退会済みユーザー

退会済みユーザー

2017/09/30 07:23

ありがとうございます。 勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問