-1

次のように、jQuery $ .ajax関数を使用して、自分のサーバー上のスクリプトにデータを投稿しようとしています。

var data = {};
var date = new Date();
data.selectedDate = selectedDate;

$.ajax({
        type: "POST",
        url: "http://www.url.com/somescript.php",
        dataType: 'json',
        data: this.data,
        async: false,
    })

データパラメータを削除すると、スクリプトが呼び出されます。誰かが何が悪いのか説明できますか?

4

3 に答える 3

4

this.dataではありませんdata。1つは変数で、もう1つは現在のコンテキストのプロパティです。

selectedDateに割り当てようとすると、は未定義になりますdata.date。notに割り当てましnew Date()た。var datevar selectedDate

var data = {};
var date = new Date();
data.selectedDate = date;

$.ajax({
        type: "POST",
        url: "http://www.example.com/somescript.php",
        dataType: 'json',
        data: data,
        async: false,
    })
于 2013-01-25T20:42:52.127 に答える
0

これは機能するはずです。

var date = new Date();
var data = { selectedDate: date};

$.ajax({
    type: "POST",
    url: "http://www.url.com/somescript.php",
    dataType: 'json',
    data: data,
    async: false,
})
于 2013-01-25T20:45:37.417 に答える
-1

誰かが以前にこれを提案しましたが、彼の投稿は削除されたようです。投稿前にデータをJSONでエンコードすると、問題が修正されました。以前にjsonでデータをエンコードせずにこのサーバーに投稿したことがあるので、なぜ突然これを行う必要があるのか​​わかりません。おそらく、公共のWi-Fiで作業していることが原因です。

JSON.stringify(this.data)

助けてくれたみんなに感謝します。

于 2013-01-25T21:09:12.573 に答える