2014-11-07 4 views
0

백본이 .save()이 PUT 요청을 보내고 있는지 여부를 확인하는 방법 ?? 나는 잘 작동하고있는 나의 서버 측을 검사했다, 서버 측에 아무 문제도 없다. 하지만 내 .save()가 작동하지 않습니다.PUT 및 POST Backbonejs 모델의 .save() 요청

여기에 내가 내 서버에 POST 요청을 보내는 .save() 생각 .save()

var my_data = { 
      id: data.id, 
      code: data.code 
     }; 

     var My_model = new my_model(); 

     My_model.save(my_data, 
     { 
      success: function(response) 
      { 
       alert('Yes'); 

      }, 
      error: function(response) 
      { 
       alert('No'); 
      } 
     }); 

을 사용하고 어떻게

다음
define(['underscore','backbone'],function(_,Backbone) 
{ 
    var my_model = Backbone.Model.extend(
    { 
     urlRoot: "http://localhost/back/server_file.php/number" 
    });   
    return my_model; 
}); 

는 백본 내 모델입니다.

UPDATE

나는 내 문제를 찾을 수 있다고 생각. 나는 그것을 여기서 묘사하고있다. 내가

내가 (내가 PHP SLIM 프레임 워크를 사용하고 있습니다) 서버 측 스크립트에 backbonejs 모델에서이 개 매개 변수를 보내려고하고 싶으면 무엇

. 이 두 매개 변수를 기반으로 서버 측 스크립트는 레코드를 업데이트합니다 (이 레코드의 두 필드는이 두 매개 변수와 일치합니다). 데이터베이스의 정적 매개 변수가있는 다른 필드. backbonejs이

Backbonejs는 JSON 형식으로 ID로 모델을 가지고 (내 생각대로)을 제공 무엇

. Backbonejs는 PUT 요청을 서버 측 스크립트로 보냅니다. 서버 측 스크립트는 일치하는 ID를 사용하여 데이터 (번들처럼 JSON 형식으로 된 데이터)를 데이터베이스로 덤프 (업데이트)합니다. Serer 사이드 스크립트는 데이터를 들여다 보는 것을 좋아하지 않습니다.

내 PUT 요청 URL이 http://localhost/back/server_file.php/number/1 (This is the id)과 비슷합니다 (방화 광의 네트워크 탭에서). 반면에 URL을 얻으려면 http://localhost/back/server_file.php/number/1 (id the first parameter)/456 (Second parameter)과 같습니다.

만약 내가 옳다면, 누구나 내 계획을 어떻게 이행 할 수 있을까?

+1

크롬 개발자 도구의 network' 탭 '에서 참조하거나 모든 요청을보고'Fiddler' 같은 네트워크 도구를 사용할 수 있습니다. –

+1

답장을 보내 주셔서 감사합니다. 네트워크 패널에서 URL을 얻었습니다 ** http : //localhost/back/server_file.php/number/1** 어디서 문제가 있습니까 ?? –

+0

모델이 이미 서버에 존재하는지 (모델에 id 속성이 있는지)에 따라 다릅니다. 이미 존재한다면, ** PUT **은 기본'Backbone.sync' 메소드에 의해 사용됩니다. 모델이 서버에 없으면 (id 속성 없음) ** POST **가 사용됩니다.http://backbonejs.org/#Model-save를 참조하십시오. – rmoestl

답변

1

이 작동합니다 ,

My_model.set(my_data); 

My_model.save(null, { 
    wait : true, 
    url : "http://localhost/back/server_file.php/number/1/456", 
    success : function(response){ 
    }, 
    error : function(e){ 
    } 
}); 
0

network 탭에서 전송되는 요청을 디버그하거나 Fiddler과 같은 네트워크 도구를 사용하여 모든 요청을 볼 수 있습니다.

첨부 된 요청 방법 참조 위치를 참조하십시오.

enter image description here