Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过ajax post请求发送数组变量_Php_Javascript_Jquery_Ajax - Fatal编程技术网

Php 通过ajax post请求发送数组变量

Php 通过ajax post请求发送数组变量,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我正在尝试通过ajax请求处理表单。问题是表单中有一个数组变量,当我通过serialize处理它并通过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;m

我正在尝试通过ajax请求处理表单。问题是表单中有一个数组变量,当我通过serialize处理它并通过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");
        }

    });
}

函数集合列表(str){
var postDatas=$('#form'+str+'').serialize();
警报(postDatas);
//$(“#crm反馈”).html(“”);
$.ajax({
url:'某处/file.php',
键入:“POST”,
数据:postDatas,
成功:功能(数据){
//$('crm feedback').html('Saved!').css('color','green');
警报(“测试”);
}
});
}
谢谢。

试试下面的内容

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
             }
         });
var数组=document.getElementById(“”);
var formdata=new formdata();
对于(var i=0;i
我今天遇到了一个几乎相同的问题,现在由于这里的帮助解决了这个问题-

不要使用序列化。使用POST@YourCommonSensePOST仍将序列化它。您得到了什么“错误”?您看到的序列化数据正确有效。我正在使用post,我正在使用serialize获取表单的所有数据。@KevinB%5B%5D,因为它们应该是[],因为我的select标记有一个name=“email\u id[]”