使用jQuery Ajax在同一请求中上传文件和JSON数据?

我需要将图像文件上传到画布。假设画布已经有对象,那么我必须首先获取json,上传图像并重新加载页面。问题是,我无法在同一ajax请求中将上传的图像文件与json数据一起发送。这是我的代码:

<canvas id="canvas"></canvas>

<form enctype="multipart/form-data" id="myform" method="post" action="">

<input type="file" name="image" id="image" />

... (other input tags)

<button type="submit" id="upload">Upload</button>

</form>

$('#upload').bind("click",function(event) {

event.preventDefault();

var json = JSON.stringify(canvas.toDatalessObject());

var url = "upload.php";

var data = new FormData($('#myform')[0]);

var dataString = JSON.stringify(data.serializeObject());

$.post(url, { json: json, data: dataString }, 'json');

});

虽然我得到的json数据很好,但表单数据只是空的。还有其他更好的解决方案吗?

回答:

去掉

var dataString = JSON.stringify(data.serializeObject());

,已经是杰森,

并尝试设置ajax属性:

    processData: false,

contentType: false,

以上是 使用jQuery Ajax在同一请求中上传文件和JSON数据? 的全部内容, 来源链接: utcz.com/qa/423461.html

回到顶部