JQuery.ajax():使用WCF服务时出现参数数据问题

时间:2011-01-13 09:35:25

标签: javascript ajax wcf jquery

我正在使用JQuery来使用WCF服务。实际上这很好用:

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

但我不想将数据参数作为String传递,我认为应该可以以任何方式将ist作为数组传递。像那样:

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

但是当我尝试这个时,我收到了一个错误。我做错了什么?

由于

2 个答案:

答案 0 :(得分: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
);

答案 1 :(得分: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/)。