无法通过 ajax 请求 (jquery) 将数组传递给 php 文件

我正在尝试通过 ajax 请求将序列化数组传递给我的 saveData.php 文件,以便将数据保存到我的数据库中。


var postData = $('#formular').serializeArray();

这是我要传递的数据。我正在创建一个包含所有数据的数组,以便将其作为 json-Array 传递给 php 文件:


    var formArray={};

    $.each(postData, function (index, field ){

        formArray[field.name]=field.value;

    });

    var formData=JSON.stringify(formArray);


$.ajax({

        type: 'POST',

        contentType: 'application/json',

        url:"functions/saveData.php",

        data : formData,

    }).done(function(data) {

        console.log('done: '+data);

    }).fail(function(data) {

        console.log('fail: '+data);         

    });

当我查看 PHP 中的 $_POST 时,有一个空数组...


在 php 方面,我尝试使用以下代码捕获数据....


$getPostedData=$_POST;


if($debug){

    echo '<pre>';

    print_r($getPostedData);

    echo'</pre>';

}

这给了我以下输出:


    Array

(

)

我究竟做错了什么?谢谢你的协助。


小唯快跑啊
浏览 79回答 1
1回答

www说

简单的例子,类似于你的情况。足以使用serialize():var postData = $('#formular').serialize();现在您可以简单地将其发送到 AJAX:$.ajax({&nbsp; &nbsp;url:"functions/saveData.php",&nbsp;&nbsp; &nbsp;method:"POST",&nbsp; &nbsp;data: postData}).done(function(resp){&nbsp; &nbsp;console.log(resp);});HTML 代码表单如下所示:<form id="formular" onsubmit="javascript:return false;">&nbsp; &nbsp; <!-- for defined data -->&nbsp; &nbsp; <input type="hidden" name="order_id" value="3435" />&nbsp;&nbsp; &nbsp; <!-- for arrays -->&nbsp; &nbsp; <input type="text" name="ex_arr[]" value="3343" />&nbsp; &nbsp; <input type="text" name="ex_arr[]" value="1123" /></form>
打开App,查看更多内容
随时随地看视频慕课网APP