我在获取收藏时遇到了一些麻烦。我正在使用控制台的网络检查器来查看是否可以找出问题所在,我看到的唯一内容是请求有效负载的格式。
以.fetch()
这种格式发送请求有效负载时:
query=this+is+my+query
这会从我的服务器返回 400 Bad Request 状态。我已经使用以下方法进行了测试:
$.ajax({
contentType: 'application/json',
async : false,
type:'POST',
url: '/search',
data: JSON.stringify({"query":"this is my query"}),
dataType: 'json',
success: function(data) {
alert('yup');
},
error: function(data) {
alert('nope');
}});
它按预期返回我的数据。在这种情况下,请求有效负载采用以下格式:
{"query":"enterprise search is gonna rock","scope":null}
我试过用我的 fetch 传递标题:
my_results.fetch({data:{"query":"this is my query"}, type: 'POST', dataType: 'json', contentType: 'application/json'});
这是我的模型和集合的样子:
EnterpriseSearch.Result = Backbone.Model.extend();
EnterpriseSearch.Results = Backbone.Collection.extend({
model: EnterpriseSearch.Result,
url: "/search"
});
任何帮助,将不胜感激。