我使用此脚本从表单中获取所有值,以便为 ajax 请求做好准备:
function saveDataAjax(){
var fd = new FormData();
var inputs = document.getElementsByTagName('input');
for(i=0;i<inputs.length;i++) {
fd.append(inputs[i].name, inputs[i].value);
}
$.ajax({
url: '/edit.php',
data: fd,
type: 'POST',
dataType: 'html',
success: function(data){
alert(data);
}
});
}
但是我从 jQuery 收到类型错误
,如果我警告 fd['inputname']
我会得到未定义的信息,所以我想我必须做点什么哪里错了...
Firefox 调试器告诉我:NS_ERROR_XPC_BAD_OP_ON_WN_PROTO:对 WrappedNative 原型(prototype)对象@ http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js:2 进行非法操作
最佳答案
将以下内容添加到 AJAX 调用中:
processData: false,
contentType: false,
所以看起来像:
$.ajax({
url: '/edit.php',
data: fd,
type: 'POST',
processData: false, //Add this
contentType: false, //Add this
dataType: 'html',
success: function(data){
alert(data);
}
});
关于javascript - FormData 对象未通过 jQuery AJAX 调用提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809016/