Sayantan
Sayantan

Reputation: 335

Sending a JSON object to Django backend through AJAX call

I have the following code (jQuery) to create a json file:

$( ".save" ).on("click", function(){
var items=[];


$("tr.data").each(function() {

 var item = {
  item.Code : $(this).find('td:nth-child(1) span').html(),
  itemQuantity : $(this).find('td:nth-child(4) span').html()        
 };
items.push(item);       

 });

});

Now this is my AJAX function:

(function() {
        $.ajax({
            url : "", 
            type: "POST",
            data:{ //I need my items object, how do I send it to backend server (django)??
                    calltype:'save'},
            dataType: "application/json", // datatype being sent

            success : function(jsondata) {  

                //do something
            },

                error : function() {
                    //do something
                }
        });
    }());

Now, my doubt is how do I send the 'item[]' object that I created to the backend? I do need to send both the item[] object and the variable 'calltype' which signals what made the AJAX call, as I have the same Django View (its the Controller equivalent for Django) in the backend being called by different AJAX functions.

How will my AJAX function look like?

Upvotes: 1

Views: 1786

Answers (1)

Sayantan
Sayantan

Reputation: 335

Hey guys just got my answer right. I used the following ajax function to get it right:

(function() {
        $.ajax({
            url : "", 
            type: "POST",
            data:{ bill_details: items,
                calltype: 'save',
                'csrfmiddlewaretoken': csrf_token},
            dataType: 'json',               
            // handle a successful response
            success : function(jsondata) {  

                console.log(jsondata); // log the returned json to the console
                alert(jsondata['name']);
            },

                    // handle a non-successful response
                error : function() {
                    console.log("Error"); // provide a bit more info about the error to the console
                }
        });
    }());

So, this is sort of a self answer!!! :) Thanks a lot SO!!

Upvotes: 1

Related Questions