如何发布multipart / form-data?

时间:2015-08-08 00:34:51

标签: jquery rest google-chrome-extension multipartform-data codenvy

我正在创建一个扩展程序,通过使用它们提供的REST API自动执行Codenvy中的过程。但是,我遇到了多部分/表单数据POST请求的问题。特别是,创建一个新工厂。

这是我的ajax / jquery电话:

$.ajax({
    type: 'POST',
    url: 'https://codenvy.com/api/factory',
    data: formData,
    processData: false,
    contentType: false,
    success:function(data) {
      callback();
    },
    error:function(e) {
      console.log(e);
    }
  });

但是我收到409错误消息:

  

在' factoryURL'中找不到工厂网址信息。部分   多部分/格式数据

我已经在Codenvy论坛上发帖了,但我得到的唯一有用的东西是卷曲命令

  

POST http://domain.com/api/factory?token= $ token -H' Content-Type:   多部分/格式数据' -F   ' factoryUrl = {$ JSONofFactoryConfig}'

rfc2388说了一些关于名字字段的内容,但我不知道如何将curl name字段转换为ajax请求。

我应该如何添加这个" factoryUrl"字段到我的POST请求?

2 个答案:

答案 0 :(得分:0)

您的有效负载中似乎缺少factoryUrl。它应该是:

factoryUrl={json_with_project_config}

答案 1 :(得分:0)

我解决了这个问题。我知道我错过了我的有效载荷中的factoryUrl部分,我只是不知道如何把它放在我的有效载荷中。以下代码完成了这项工作。

var formData = newFormData();
formData.append('factoryUrl', JSON.stringify(jsonObject));
// Send ajax post request