PHP PHP
PHP PHP

Reputation: 55

PUT and POST Request of .save() of Backbonejs model

How to be confirmed whether a backbonejs .save() is sending PUT request ?? I checked my server side, which is working good, there is no problem in server side. But my .save() is not working.

Here is my model of backbone

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

Here is how I am using .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');
            }
        });  

I think my .save() is sending POST request to server.

UPDATE

I think I could find out my problem. I am describing that here.

What I would like to do

I would like to send 2 parameters from backbonejs model to server side script (I am using PHP SLIM Framework). Based on those 2 parameters server side script update a record's(2 field of this record match with those 2 parameters ) another field with a static parameter at database.

What backbonejs provide (As I think )

Backbonejs has a model with id as JSON format. Backbonejs sends PUT request to server side script. Server side script just dump (update) the data(which was as JSON format,like a bundle) to the database with matching id. Serer side script would not like to look inside the data.

I am getting (from network tab of firebug) my PUT request URL is like http://localhost/back/server_file.php/number/1 (This is the id) . On the other hand I would like to get URL is like http://localhost/back/server_file.php/number/1 (id the first parameter)/456 (Second parameter).

If I am right, anyone could say how can I implement my plan??

Upvotes: 0

Views: 3840

Answers (2)

Sohel
Sohel

Reputation: 431

This should work,

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){
  }
});

Upvotes: 1

coding_idiot
coding_idiot

Reputation: 13714

You can debug the request being sent in network tab of Chrome Developer Tools or you can use a network tool like Fiddler to see all requests.

Refer the attached on where to see the request method being used.

enter image description here

Upvotes: 0

Related Questions