$("#upload").on("change", function (evt) {
var data = new FormData();
var file = $('#upload').prop('files');
data.append('file', file);
var req = {
action:'uploadFile',
data: data,
type: 'POST',
processData: false,
contentType: false,
};
this.getJSON('upload.php', req, function(serverData)
{
console.log(serverData);
});
});
我在向后端发送数据时遇到此错误。为什么?我甚至将processData和contentType设置为false但仍然出现此错误。
答案 0 :(得分:2)
您的getJSON()
语法错误。您要做的是向目标发送POST请求,因此请使用$.ajax()
。 getJSON()将数据对象作为第二个参数,但是您要发送一个ajax选项对象作为第二个参数。
$("#upload").on("change", function (evt) {
var data = new FormData();
$.each(this.files, function (i, file) {
data.append('file', file);
})
data.append('action', 'uploadFile');
var req = {
url: 'upload.php',
data: data,
type: 'POST',
processData: false,
contentType: false,
dataType: 'json'
};
$.ajax(req).done(function () {
//success handler
});
});