Error 404 (not found) in ajax call with file inside FormData
我试图调用一个PHP脚本通过Ajax上传一个文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var fd = new FormData(); fd.append('file', file); console.log(file); var xhr = $.ajax({ url: 'https://www.mywebsite.com/it/file/upload/', type: 'POST', dataType: 'json', data: fd, cache: false, contentType: false, processData: false, success: function(result, message, xhr) { console.log(result); } }); |
目前,PHP脚本只显示接收到的文件数据
1 2 3 |
传递给Ajax数据的"file"对象如下
1 | File {errors: 0, name:"wedding.jpg", lastModified: 1500572565619, lastModifiedDate: Thu Jul 20 2017 19:42:45 GMT+0200 (ora legale Europa occidentale), webkitRelativePath:""…} |
但是当调用Ajax调用时,在Inspect窗口中我得到以下错误
1 |
这听起来很奇怪,因为当我直接浏览脚本路径时,它没有给出任何404响应。如果我评论"contenttype"参数,错误就会消失,但是从php脚本收到的响应是
您需要将内容类型指定为预期的类型。正如你在文章中提到的,
1 |
所以,试着改变它
1 | contentType: false, |
到
1 | contentType:"application/json; charset=utf-8", |