您的位置:首页 > Web前端 > JQuery

JQuery调用VS2005 c#2.0编写的Webservice时返回值转换成JSON格式的解决办法

2011-08-25 13:56 645 查看
微软的webservice太不给力了,.Net 2.0里只能返回xml,3.0以后才能返回json。客户端调用起来很不方便,鄙视下。不可能为了这个小功能我就升级到.Net3.0啊。这帮强盗!!!

假如我有一个名为WebService .asmx的webservice,里面有如下方法:

[WebMethod]
public string test()
{

return "{id:1,name:'TestName'}";
}

我想在前台页面通过jQuery调用此方法,然后将 返回的这个字符串作为JSON对象使用的话,客户端就应该如下编写:

<script type="text/javascript" language="javascript">
$(document).ready(
function()
{
$("#btn1").click(
function ()
{
$.ajax({
type: "POST",
url: "webservice.asmx/test",
dataType: "xml",
data:{suggest:"txt"},
success: function(msg)
{
//显示后台返回的数据
var returnText=msg.text;
var data=eval('('+returnText+')');//将字符串转换成JSON格式
$("#divID").html(data.id);
$("#divName").html(data.name);
}
});
}
);
}
);
</script>

坑爹啊,有木有。这样一来,还不如直接写一个asp.net的页面,清空里面所有的HTML代码,然后像写PHP那样,直接往页面写JSON字符串来的利索,而且还可以直接设置ContentType为application/JSON。前台JQuery获取的值直接就是JSON啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐