2013-06-20 196 views
-3

我試圖通過ajax請求處理一個表單。的問題是,我的形式內的數組變量,當我經由串行化處理它通過AJAX來發送它返回這個:通過ajax發送請求發送數組變量

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

即.serialize的結果。

我也爲數組變量使用了多個select標籤。

爲什麼我得到這個錯誤,我該怎麼做才能避免和修復它。

<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"); 
     } 

    }); 
} 

謝謝。

+0

不要使用連載。使用POST –

+0

@YourCommonSense POST仍將序列化它。 –

+0

你得到了什麼*「錯誤」?您看到的序列化數據是正確和有效的。 –

回答

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 
      } 
     });