我需要将请求有效负载中的数组传递给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"]);
我们非常感谢您的建议。
答案 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'
});