今天使用ajax做图片上传的时候执行上传的时候浏览器出现500
报错,立即打开浏览器看错误信息
发现Content-Type: application/json
也就是说我传的是一个json字符串,但是我上传的是一个文件啊,所以报错了。
当时使用ajax上传文件的时候使用的是$("#dd").serialize(),
对 form 表单进行序列化来提交表单数据。网上找原因是因为上传文件的文件流是无法被序列化并传递的,所以$("#dd").serialize(),
就没有用了,那就使用FormData
来代替
使用 FormData 进行 Ajax 请求并上传文件
<body>
<input type="file" id="nfile" />
<input id="btn" type="button" value="提交" />
</body>
<script type="text/javascript"