关于jQuery使用serializeArray()序列化表单数据,使用FormData()实现AJAX请求的问题

来源:互联网 发布:linux 平台 编辑:程序博客网 时间:2024/06/07 17:38

jQuery使用serializeArray()序列化表单数据得到的是一个json对象的数组,而不是真正的json,所以如果对于获取到的结果直接发送给服务器端,服务器端是不能直接通过$_POST[ "]获取到的(服务器端使用PHP语言)。因此需要对serializeArray()获取的数据进行处理,处理方式如下:

var formData= new FormData();$.each($(".register").serializeArray(),function (i,field) {       formData.append(field.name,field.value);}) 

主要是使用each()进行遍历重新append()到formData之中便成为json对象,然后便可以进行AJAX数据传递。

$.ajax({                type:"POST",                url:"insert.php",                data:formData,                contentType:false,                processData:false            }).then(function () {               //成功处理函数                $("#box").html("恭喜你注册成功!(我是通过ajax()访问服务器的)");            },function () {                //失败处理函数                $("#box").html("注册失败!请稍后重试!(我是通过ajax()访问服务器的)");            });


0 0
原创粉丝点击