我有一个文件输入,我想使用 jquery ajax 上传选定的文件。
我的输入是这样的
<form id="formWithFiles">
<input type="file" name="file">
</form>
我的上传jquery代码
$("input[name='file']").on('change',function(){
$.ajax({
url: 'du.asp',
type: 'POST',
contentType:'multipart/form-data',
data: new FormData($('#formWithFiles')[0]),
processData: false,
success:function(data){
console.log(data);
}
});
});
我上传的经典 Asp 代码 - du.asp
Set Upload = Server.CreateObject("Persits.Upload")
Upload.CodePage = 65001
Upload.OverwriteFiles = False
Temp = Server.MapPath("content/temp")&"/"
Upload.Save(Temp)
问题就在这里;我得到了一个
500 Internal Server Error
jquery ajax 出错。但如果我使用表单提交方法,然后使用 du.asp
上传文件。
详细错误(仅使用ajax)
Boundary not found in Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.
最佳答案
我用这段代码做到了;
var formData = new FormData($("#formWithFiles")[0]);
$.ajax({
url: 'du.asp',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
console.log(returndata);
}
});
关于jquery - 经典的Asp持久上传和Jquery Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37447621/