コレクションの取得に問題があります。コンソールのネットワークインスペクターを使用して、何が問題なのかを把握できるかどうかを確認しています。表示されるのは、リクエストペイロードの形式だけです。
リクエストを行う場合、.fetch()
ペイロードは次の形式で送信されます。
query=this+is+my+query
これにより、サーバーから400BadRequestステータスが返されます。私は以下を使用してテストしました:
$.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}
フェッチでヘッダーを渡してみました:
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"
});
どんな助けでもいただければ幸いです。