3

この質問と同様に、投稿リクエストで文字列をデータとして送信する必要があります。

あちらと違って、アイテムを繰り返しているので、オブジェクトを使用することはできません。私のサンプル データでわかるように、sn1、sn2、sn3 は異なる日時で数回繰り返されます。

サンプルデータ:

&sn3=2013-2-4T12:43:52&sn3=2013-2-4T12:43:55&sn1=2013-2-4T12:43:59&sn1=2013-2-4T12:44:0&sn2=2013-2-4T12:44:0&sn3=2013-2-4T12:44:2&sn2=2013-2-4T12:44:3&sn3=2013-2-4T12:44:19&sn3=2013-2-4T12:44:19&sn3=2013-2-4T12:44:19&sn2=2013-2-4T12:44:19&sn3=2013-2-4T12:44:21&sn2=2013-2-4T12:44:22&sn2=2013-2-4T12:46:39&sn3=2013-2-4T12:46:42&sn2=2013-2-4T12:46:44&sn2=2013-2-4T12:46:45&sn2=2013-2-4T12:46:46&sn2=2013-2-4T12:47:27&sn2=2013-2-4T12:47:27&sn2=2013-2-4T12:49:44&sn2=2013-2-4T12:50:21&sn2=2013-2-4T12:52:21&sn2=2013-2-4T12:52:24&sn2=2013-2-4T12:57:35&sn3=2013-2-4T12:57:38&sn3=2013-2-4T12:57:39&sn2=2013-2-4T12:57:39&sn2=2013-2-4T12:57:40&sn3=2013-2-4T12:57:46&sn3=2013-2-4T13:21:30

私は以下を使用してみました

console.log(screens); //logs my sample data posted above.
        $.ajax({
            url : url,
            type: "POST",
            dataType : 'text',
            data : screens,
            success : function(data) {
                console.log("sucessfull sending:")
                console.log(data);
            },
            error : function() {
                console.log('failed');
            }

        });

しかし、それは常にトリガーに失敗しました。

文字列として送信できますか? そうでない場合、同じキーで複数のアイテムを送信するにはどうすればよいですか?

4

3 に答える 3

2
    console.log(screens); //logs my sample data posted above.
    $.ajax({
        url : url,
        type: "POST",
        dataType : 'text',
        data : {screens:screens},
        success : function(data) {
            console.log("sucessfull sending:")
            console.log(data);
        },
        error : function() {
            console.log('failed');
        }

    });

を参照data : {screens:screens},してください。そのようなことを行うと、サーバー上で次のように取得できますscreensString = Request["screens"]。その後、screensString にはすべての画面を含む 1 つの文字列が含まれます。

于 2013-02-04T13:35:45.063 に答える
1

ajax オプションで contentType を指定しない場合、リクエストはデフォルトで「application/x-www-form-urlencoded;」になります。文字セット=UTF-8'. ただし、投稿データが単なるテキストの場合は、contentType 'text' を指定してサーバーにその事実を認識させる必要があります。contentType とは対照的に、dataType は、サーバーから返されると予想される応答データのタイプを指定します。

于 2013-02-04T13:47:26.670 に答える
1

必要なのは、パラメーターで [] を使用することだと思います。

&sn3=複数回送信する(それ自体を書き換える)代わりに、このように配列として送信します&sn3[]=

フォーム入力の使用からこのデータを取得している場合は、送信されたデータとしてname="sn3[]"使用することをお勧めします$('#yourform').serialize()

于 2013-02-04T13:58:45.260 に答える