2012-12-03 3 views
2

모음을 가져 오는 데 문제가 있습니다. 콘솔의 네트워크 관리자를 사용하여 무엇이 잘못되었는지 알아낼 수 있는지 확인하고 요청 페이로드의 형식 만 볼 수 있습니다.

.fetch() 요청 페이로드를 만드는

이 형식으로 전송되고 :

query=this+is+my+query 

이 내 서버에서 400 개 잘못된 요청의 상태를 반환합니다. 나는 다음을 사용하여 테스트했다.

$.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} 

내가 함께 헤더에 전달하려고했습니다 내 가져 오기 :

EnterpriseSearch.Result = Backbone.Model.extend(); 
EnterpriseSearch.Results = Backbone.Collection.extend({  
    model: EnterpriseSearch.Result, 
    url: "/search" 
}); 
:

여기
my_results.fetch({data:{"query":"this is my query"}, type: 'POST', dataType: 'json', contentType: 'application/json'}); 

내 모델 및 컬렉션과 같이 무엇인가

도움을 주시면 감사하겠습니다.

+0

스택 오버플로에 오신 것을 환영합니다! 훌륭한 첫 번째 질문입니다. –

답변

0

$.ajax을 사용할 때와 마찬가지로 가져 오기 옵션에서 data: JSON.stringify({"query":"this is my query"})을 사용해보세요. 양식 데이터의 경우 jQuery는 기본값이 application/x-www-form-urlencoded입니다.