-3

ajax リクエストを介してフォームを処理しようとしています。問題は、フォーム内に配列変数があり、シリアライズ経由で処理して ajax 経由で送信すると、次のように返されることです。

email_id%5B%5D=1&email_id%5B%5D=2&test=23

それが .serialize の結果です。

また、配列変数に複数の選択タグを使用しています。

このエラーが発生する理由と、エラーを回避して修正するにはどうすればよいですか。

<select name="email_id[]" id="email_id_0" style="width: 350px;margin-right: 5;">
</select>

function setList(str){
    var postDatas = $('#form'+str+'').serialize();
    alert(postDatas);
    // $('#crm-feedback').html('<img src="images/ajax-loader.gif"/>');
    $.ajax({
        url: 'somewhere/file.php',
        type: 'POST',
        data: postDatas,
        success: function(data){
            // $('#crm-feedback').html('Saved!').css('color','green');
            alert("test");
        }

    });
}

ありがとうございました。

4

2 に答える 2

2

フォローしてみてください

var array = document.getElementById("<your array elem>");
        var formdata = new FormData();
        for(var i=0; i< array.length; i++){
            formdata.append("<key>",array[i]);
        }

        $.ajax(
         {
             url: "<url>",
             dataType: "<expected return datatype>",
             type: "POST",

             data: formdata,
             success: function (result, status) {
                //process success
             },
             error: function (result, status) {
                //process failure
             }
         });
于 2013-06-20T16:03:41.257 に答える