我尝试使用html表单中的部分值来执行此操作。
var formData = new FormData();
formData.append('file', $('#FORM_ADD_LANG_FILE')[0].files[0]);
formData.append('add_lang_code', $('#FORM_ADD_LANG_CODE').val());
formData.append('job', jobid);
var post_setting = new Array(false,false);
但是在我的控制台中显示以下错误,我不知道原因是什么
"TypeError: 'append' called on an object that does not implement interface FormData."
我通过此函数生成ajax调用
function getAJAXcall(processData, contentType, formData, callback) {
var returnValue = {
url: '".$global['serverurl']."module/".$m['ID']."/code/cms_data.php',
type: 'POST',
data: formData,
success: callback
};
if (processData === **false**) returnValue.processData = processData;
if (contentType === **false**) returnValue.contentType = contentType;
}
以这种方式打电话给他们
$.ajax(getAJAXcall(post_setting[0], post_setting[1], formData, function(result)
{ ...my callback functions... }
另外我尝试更改post_setting = new Array(false,false);为真,真,但结果是相同的
答案 0 :(得分:0)
你使用right method call就可以了,所以可能还有别的错误。
可能 FormData
被其他库(可能是polyfill)覆盖,它对.append()
一无所知?检查浏览器的控制台是否FormData
,看看是否可以发现任何可疑的东西。
你在jQuery AJAX调用中使用结果,是吗?然后this answer适用于您。简而言之,添加
processData: false,
到您的AJAX参数。