2016-04-11 33 views
1

aracılığıyla Django arka uca bir JSON nesnesi gönderme Aşağıdaki kodu (jQuery) bir json dosyası oluşturmak zorunda:AJAX çağrısı

$(".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);  

}); 

}); 

Şimdi bu benim AJAX fonksiyonudur: Artık

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

, Benim şüphem, arka ucuma oluşturduğum 'item []' nesnesini nasıl gönderebilirim? Ben AJAX çağrısının ne yaptığını işaret eden hem item [] nesnesini hem de 'calltype' değişkenini göndermem gerekiyor, çünkü aynı AJAX işlevleri (arkadaki Django için Kontrolör eşdeğeri) farklı AJAX işlevleri tarafından çağrılıyor.

AJAX işlevim nasıl görünür?

+0

Genel değişken 'items' oluşturabilirsiniz, değil mi? –

+0

Sadece doğru anladım. Sorun değişken öğelerle değildi. Küresel değişkenin başka özellikleri de olacaktır. – Sayantan

cevap

1

Hey beyler cevabımı haklı çıkardılar. Ben doğru almak için aşağıdaki ajax fonksiyonu kullanılır:

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

Yani, bu kendi kendine cevap nevi !!! :) Çok teşekkürler!

+0

Sorununuzu çözerken güzel iş çıkardınız! Bilgi için csrfmiddlewaretoken'i tırnak içine almanıza gerek kalmaz, iyi görünen bakım kodu için sabit kalmaya çalışın. – phenxd

+0

Geç cevap için özür dilerim phenxd !! Teşekkür ederim! Kesinlikle sabit kalmak için harika, ama ben tırnak içine koymak zorunda kaldım! Çok teşekkürler – Sayantan

İlgili konular