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

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

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

dateは、date型や日付に関する関数や処理についてのタグです

JavaScript

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

2740閲覧

Date Range Picker で選択した日付データをAjaxで渡したい

ashly

総合スコア119

date

dateは、date型や日付に関する関数や処理についてのタグです

JavaScript

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2017/04/11 01:16

編集2017/04/11 02:12

Date Range PickerというJSを利用し、選択した日付データをAjaxのリクエストURLに渡したいのですが、どうもうまく日付を認識してくれません。
http://www.daterangepicker.com/

最終的に選んだ日付の開始日と最終日を以下の様なURLのパラメーターにいれてリクエストを投げたいと考えています。

test.domain.com/index.php?123&s=開始日&e=終了日

以下のコードにてPickerで日付を選択後、Ajaxリクエスト自体はエラー無く送信されるのですが、送信先のURLが以下の様に指定した日付が入らず、文字列がそのままリクエストURLとなってしまい困っております。

test.domain.com/index.php?123%20%27+%20%27&%27%20+%20%27s=%27%20+%20start%20+%20%27&e=%27%20+%20end

html

1<input type="text" id="daterange" value="">

javascript

1 2$(document).ready(function() { 3 $('#daterange').daterangepicker({ 4 startDate: '2017/01/01', 5 endDate: '2017/01/01', 6 format:'YYYY/MM/DD', 7 showDropdowns: false, 8 ranges: { 9 '直近30日': [moment().subtract('days', 29), moment()], 10 '今月': [moment().startOf('month'), moment().endOf('month')], 11 '先月': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')] 12 }, 13 opens: 'left', 14 locale: { 15 applyLabel: '反映', 16 cancelLabel: '取消', 17 fromLabel: '開始日', 18 toLabel: '終了日', 19 weekLabel: 'W', 20 customRangeLabel: '自分で指定', 21 daysOfWeek: moment.weekdaysMin(), 22 monthNames: moment.monthsShort(), 23 firstDay: moment.localeData()._week.dow 24 }, 25 }, function sumData(start, end, label) { 26 $.getJSON( 27 "//test.domain.com/index.php?123 '+ '&' + 's=' + start + '&e=' + end" 28 ); 29}); 30 31}); 32 33 34

宜しくお願い致します。

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

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

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

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

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

kei344

2017/04/11 01:28

「うまくできない」とは「何をしたときに」「どうなると思って」「どうなったのか」を、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。エラーはデベロッパーツールで確認してみてください。http://eng-entrance.com/javascript-display-error
ashly

2017/04/11 01:30

ご連絡ありがとうございます。 具体的にはstartとendの日付がパラメーターに入らずそのまま文字列として出力されてしまいます。後ほど本文書修正します。
Lhankor_Mhy

2017/04/11 01:45

ご提示のコードは文法的におかしいので、シンタックスエラーにより『startとendの日付がパラメーターに入らずそのまま文字列として出力』が再現しないと思います。実際のコードと違う部分があるのではないかと思いますので、再度ご確認願います。
Lhankor_Mhy

2017/04/11 02:25

編集されたコードは明らかに間違っています。もう一度kei344さんの回答を読み直すことをお勧めします。
guest

回答1

0

ベストアンサー

関数sumData を使っていない気はしますが、とりあえず変なところで改行せずに書いてみては?

JavaScript

1 $.getJSON( 2 '//test.domain.com/index.php?123&s=' + start + '&e=' + end, 3 );

引用符の対応もおかしかったので、" ' は混ぜずに書いたほうがミスが少ないと思いますよ。

投稿2017/04/11 01:54

kei344

総合スコア69398

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

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

kei344

2017/04/11 02:17

うわー質問文変わってる、と思ったら指摘の意図が伝わっていなかった。「変数」と「文字列」を意識してください。
ashly

2017/04/11 02:25

ありがとうございます。 よくよく見てみるとダブルクオートで括っていることが原因っぽいので、文字列はシングルクオートで囲って +でつなげて見ます!
ashly

2017/04/11 02:35

アドバイス頂いた通り、シングルクオートで統一し、文字列のみシングルクオートで括ったところ問題無くDATEが展開されました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問