Cri*_*jas 9 backbone.js backbone.js-collections
我有以下代码来获取我的集合的数据,但指定了应该来自服务器的颜色:
fruits = new FruitsCollection();
fruits.fetch({
data: {color: ['red', 'green']}
});
Run Code Online (Sandbox Code Playgroud)
这就是我的期望:
http://localhost:8000/api/fruits/?color=red&color=green
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
http://localhost:8000/api/fruits/?color[]=red&color[]=green
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,由于一些未知的原因,Backbone.js将方括号添加到URL参数,而不是color=green我有color[]=green
我在服务器端使用django-rest-framework,我知道我可以在那里进行硬编码修复,但我更喜欢知道逻辑原因,因为它正在发生,我如何从我的javascript中解决它.
nem*_*esv 17
Backbone 在ajax请求下使用jQuery.ajax,因此您需要使用traditional: true选项来使用"传统" 参数序列化:
fruits = new FruitsCollection();
fruits.fetch({
traditional: true,
data: {color: ['red', 'green']}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12463 次 |
| 最近记录: |