2011-01-13 106 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/了解详细信息)并不好。