正しい Ajax 投稿が行えるように、jQuery DatePicker から日付の値を取得して、文字列形式「MM/dd/yyyy」に変換する必要があります。ページが読み込まれるか、DatePicker が変更されると、jQuery Ajax 呼び出しが行われます。
次のようなコードがあります:
var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");
しかし、"MM/dd/yyyy" には変換されません。フィドラーを使用して、ネットワークに何が送信されるかを確認すると、次のようになります。
startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0
Fiddler で Compose を使用して本文を次のように変更します。
startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0
正しい回答が得られました。それで、私の質問は、日付オブジェクトを取得して、moment.js を使用して文字列「MM/dd/yyyy」にフォーマットする方法があるかどうかです。または、datepicker から日付を取得する方法に何か問題があるのでしょうか。
ちなみに、jQuery のドキュメントには datepicker.getDate が日付オブジェクトを返すと書いてあるので、そう想定しています。
ありがとう、
ベストアンサー1
StartDate = moment(StartDate).format('MM-YYYY');
...そしてMySQLの日付形式:
StartDate = moment(StartDate).format('YYYY-MM-DD');