骨干可以作为多部分发送数据吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了骨干可以作为多部分发送数据吗?相关的知识,希望对你有一定的参考价值。

Backbone可以像multipart/form-data一样发送数据吗?我相信它默认为application/json。我查看了文档,如果我做Backbone.emulateJSON = true它会发送为application/x-www-form-urlencoded,但这没有帮助。

我正在研究遗留项目,我正在尝试向其添加文件上传功能。要做到这一点,虽然我被告知服务器需要更改为接受多形式数据而不是application / json数据。

答案

当你fetchsave等你可以选择提供options参数。其中任何不是Backbone特定的选项(例如silent: true)将被传递给sync,然后将它们传递给$.ajax

因此,简而言之,只需在进行Backbone AJAX方法调用时传递适当的选项,就可以执行$.ajax通常可以执行的任何操作。

另一答案

我建议您使用显式传输进行文件上传,例如jQuery.ajax或类似的,因为上传并不真正类似于Backbone.Models。此外,您可能希望使用jquery-fileupload等库并订阅它发出的事件。另请查看ideas

另一答案

您可以通过将数据附加到FormData()对象,并使您的表单enctype =“multipart / form-data”作为multipart发送数据。您也可以通过此发送File对象。

<form class="form form-inline" id="quotation_form" method="post" data-remote="true" enctype="multipart/form-data" >

 </form>


     var data = new FormData();
     data.append("description", description);


      quotationAttachmentModel.save(null, {
             processData: false,
             url: requestURL,
             data: data,
             cache: false,
             iframe: true,
             emulateJSON: true,
             contentType: false,

      success: function(model, resp) {
        console.log("success");
      },
      error: function(data, jqXHR, errorThrown) {
        console.log("failed");
      }
    });

以上是关于骨干可以作为多部分发送数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以将 S/MIME 作为多部分/混合消息的一部分吗?

ajax 将多部分表单数据作为 json 对象上传

将大型响应 Json 作为多部分数据或多个部分发送

通过邮递员发送二维字节数组(多个文件)作为多部分请求

UDP - 我可以发送两个数据报部分,并让接收端将它们合并为一个吗?

如何将多部分/表单数据从 android 发送到 Web 服务器?