使用backbone.js .save()方法在post请求中传递请求有效负载中的数组

时间:2014-11-25 09:54:41

标签: javascript backbone.js

我需要将请求有效负载中的数组传递给BACKBONE中的POST API调用。我尝试在save()中传递数组,但它不会像预期的那样。我从服务器得到的响应是“错误请求。预期数组”。 该阵列预计将如下: [ “一”, “B”] 0: “一” 1: “b” 的 我的代码就像: {0: “一”,1: “B”} 0: “一” 1: “b” 的 这是我试过的js代码:

var PolicyGroupMembers = Backbone.Model.extend({
    id1:"",
    url: function(){
        var url1= "http://localhostIP:9292/api/policy_groups/" +this.id1 +"/members";
        return url1;
    },
    // Before calling the save() function configure request 
    configRequest:function(options) {       
        this.id1 = options.id1; 
});
var systemGroup5 = new PolicyGroupMembers();
systemGroup5.configRequest({
    id1: "Ppj--v4UT1-NwrZ7PQkgOg"
});
systemGroup5.save(["a","b"]);

我们非常感谢您的建议。

2 个答案:

答案 0 :(得分:0)

我怀疑你必须做类似

的事情
systemGroup5.save({0:["a","b"]});

来自Backbone的注释源

    if (key == null || typeof key === 'object') {
      attrs = key;
      options = val;
    } 
     else {
      (attrs = {})[key] = val;
    }

所以预期一个关键值对

答案 1 :(得分:0)

为了按预期发送数组,我将默认的contentType(application / json)覆盖为application / text。 以下代码工作:

systemGroup5.save({
    data: ["a","b"],
    contentType: 'application/text'
});