【问题标题】:Uploading files and JSON data in the same request with jquery ajax?使用 jquery ajax 在同一请求中上传文件和 JSON 数据?
【发布时间】: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


    【解决方案1】:

    删除

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

    ,已经是Json了,

    并尝试设置 ajax 属性:

        processData: false,
        contentType: false,
    

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 2013-10-08
      • 2016-01-15
      • 1970-01-01
      • 2014-05-06
      相关资源
      最近更新 更多