2012-10-28 24 views
0

我需要執行一個AJAX調用發送一些JSON對象到服務器線基礎上,通過Ajax調用發送JSON時

$.ajax({ 
    url: serviceURL+'stores/'+store_id+'/karaoke/song/new', 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    data: { song: id, date: "date", user: "test", help: false, partners: [], likes: 0 }, 
    dataType: "json" 
    }); 

這就是我得到的,我用Wireshark來記錄我將派遣什麼我會發送是這樣的

JavaScript Object Notation: application/json 
Line-based text data: application/json 
song=name&date=date&user="test"&help=false&partners=[]&likes=0 

怎麼可能調用,與指定的數據類型和可能的contentType變換成JSON基於行的文本數據,我怎麼能發送JSON對象,而不是

回答

2

在發送之前,您可以使用Json2 library將json轉換爲字符串。一旦到達服務器,它將被解析。

var song = { song: id, date: "date", user: "test", help: false, partners: [], likes: 0 } 

var json = JSON.stringify(song) 

$.ajax({ 
    url: serviceURL+'stores/'+store_id+'/karaoke/song/new', 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    data: json, 
    dataType: "json" 
});