Google Chrome的控制台告诉我
未捕获的TypeError:非法调用
调用以下函数时
{{1}}
我已经在这个问题上查看了StackOverflow帖子,但没有任何原因与我在我看到的任何内容有关。我不确定它是否重要,但我可以发布HTML和控制器,如果这可能是问题的一部分。
答案 0 :(得分:0)
您错过了$.ajax
来电的两个选项,这些
contentType: false,
processData: false,
像这样做
$.ajax({
xhr: function () {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total * 100;
console.log("percentComplete = " + percentComplete);
} else {
console.log("lengthComputable evaluated to false;")
}
}, false);
xhr.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total * 100;
console.log("percentComplete = " + percentComplete);
} else {
console.log("lengthComputable evaluated to false;")
}
}, false);
return xhr;
},
type: 'POST',
url: '@Url.Action("upload","FileUploadAsync")',
data: data,
contentType: false,
processData: false,
success: function (data) {
console.log("success!");
}
});
如果让jQuery在内部处理文件,则会引发Illegal invocation
错误。