백본이 .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)
과 같습니다.
만약 내가 옳다면, 누구나 내 계획을 어떻게 이행 할 수 있을까?
크롬 개발자 도구의 network' 탭 '에서 참조하거나 모든 요청을보고'Fiddler' 같은 네트워크 도구를 사용할 수 있습니다. –
답장을 보내 주셔서 감사합니다. 네트워크 패널에서 URL을 얻었습니다 ** http : //localhost/back/server_file.php/number/1** 어디서 문제가 있습니까 ?? –
모델이 이미 서버에 존재하는지 (모델에 id 속성이 있는지)에 따라 다릅니다. 이미 존재한다면, ** PUT **은 기본'Backbone.sync' 메소드에 의해 사용됩니다. 모델이 서버에 없으면 (id 속성 없음) ** POST **가 사용됩니다.http://backbonejs.org/#Model-save를 참조하십시오. – rmoestl