Backbonejs模型的.save()的PUT和POST请求

时间:2014-11-07 05:05:43

标签: javascript backbone.js model

如何确认backbonejs .save()是否正在发送PUT请求?我检查了我的服务器端,哪个工作正常,服务器端没有问题。但我的.save()无效。

这是我的骨干模型

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

以下是我使用.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');
            }
        });  

我认为我的.save()正在向服务器发送POST请求。

更新

我想我可以找出问题所在。我在这里描述。

我想做什么

我想从backbonejs模型向服务器端脚本发送2个参数(我正在使用PHP SLIM Framework)。基于这2个参数,服务器端脚本更新记录(此记录的2个字段与这2个参数匹配),另一个字段在数据库中具有静态参数。

什么是骨干提供 (我认为)

Backbonejs有一个id为JSON格式的模型。 Backbonejs将PUT请求发送到服务器端脚本。服务器端脚本只是将数据(以JSON格式,如捆绑包)转储(更新)到具有匹配ID的数据库。 Serer侧脚本不想查看数据内部。

我收到(来自firebug的网络标签)我的PUT请求网址就像http://localhost/back/server_file.php/number/1 (This is the id)。另一方面,我想得到的网址就像http://localhost/back/server_file.php/number/1 (id the first parameter)/456 (Second parameter)

如果我是对的,任何人都可以说我该如何实施我的计划?

2 个答案:

答案 0 :(得分: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){
  }
});

答案 1 :(得分:0)

您可以调试network Chrome Developer Tools标签中发送的请求,也可以使用Fiddler等网络工具查看所有请求。

请参阅附件,了解正在使用的请求方法的位置。

enter image description here