2011-01-13 71 views
0

我正在使用JQuery來使用WCF服務。其實,這工作得很好:JQuery.ajax():在使用WCF服務時發送參數數據

var para = ' { "Parameter" : { "ID" : "5", "Name" : "Peter" } }' 
$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    data: para, 
    url: url 
    success: success 
}); 

但我不希望傳遞數據參數爲字符串,我想這應該有可能通過IST​​以任何方式排列。像這樣:

var para = { "Parameter" : { "ID" : 5, "Name" : "Peter" } } 

但是,當我嘗試這個,我得到一個錯誤。我做錯了什麼?

感謝

回答

1
var para = '{ "ID" : "5", "Name" : "Peter" }'; 
$.ajax({ 
    type: "POST", 
    data: para, 
    url: url 
    success: success 
}); 

如果格式化像這樣,你應該能夠得到的值作爲

$_POST will return array('ID' => '5', 'Name' => 'Peter'); 

,但你也可以通過做訪問:

$_POST['ID'] and $_POST['Name'] 

你也可以使用jquery post功能:

var para = '{ "ID" : "5", "Name" : "Peter" }'; 
$.post(
    url, 
    para 
); 
0

您可以使用JSON.stringify函數json2.js。然後,你Ajax調用會

var para = { Parameter : { ID :5, Name : "Peter" } }; 
$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    data: JSON.stringify(para), 
    url: url 
    success: success 
}); 

手動轉換到JSON字符串的使用是因爲在字符串中可能的空間無特徵的,必須進行轉義(見http://www.json.org/瞭解詳細信息)並不好。