【发布时间】:2015-06-04 22:56:08
【问题描述】:
我需要将图像文件上传到画布。假设画布已经有对象,那么我必须先抓取 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 数据很好,但表单数据只是空的。还有其他更好的解决方案吗?
【问题讨论】:
标签: javascript jquery ajax json