2012-03-25 3 views
0

현재 작업중인 백본 프로젝트에 몇 가지 문제가 있습니다.PUT 또는 POST 대신 GET을 사용하는 백본

나는 다음과 같은 모델을 가지고 :

class App.Models.Purchaseorder extends Backbone.Model 
    url: -> 
     base = 'api/purchaseorders' 

     if this.isNew() 
      base 
     else 
      base + '/' + this.id; 

    urlRoot: 'api/purchaseorders' 

나는 콘솔에서 다음을 실행

:

제대로 속성을 설정하는 표시
po = new App.Models.Purchaseorders; 
po.set({'po_number': '1234', 'locale': 'Home', 'po_date': '3/22/2012'}); 

. 그러나 내가 실행하면

po.save() 

나는 api/purchaseorders URL에 대한 POST 요청을 할 것으로 기대합니다. Backbone JS에서 save() 및 sync() 함수를 통해 디버깅 할 때 실제로 POST를 실행하는 것처럼 보입니다. 그러나 마지막 순간에 실제로 GET을 수행하는 것처럼 보입니다. http://i.imgur.com/dQK88.png

왜 이런 일이 일어날 지 혼란 스럽네요. 업데이트를하려고 할 때 유사한 문제가 발생합니다. PUT을 수행해야합니다. 나는 모델에서 펑키 한 무언가가 있다고 가정하고있다. 그러나 나는 그것이 될 수있는 단서가 없다.

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

감사합니다.

+0

POST가 끝나면 백본 모델과 백엔드 모델의 상태가 동기화 된 것일까 요? –

답변

0

내가 가지고있는 코드를 테스트했는데 (참고로 s없이 new App.Models.Purchaseorder이라고 부름), 예상대로 POST를 수행합니다.

어떤 백본 버전 언더 코어를 사용하고 있습니까?

여기에 a fiddle입니다.

관련 문제