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啊。
假如我有一个名为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啊。
相关文章推荐
- JQuery的Ajax使用Get,Post方法调用C#WebService并返回数据
- Dephi调用C#编写的WebService的一些问题与解决
- jquery调用基于.NET Framework 3.5的WebService返回JSON数据
- Jquery的parseJSON转换出错显示"invalidJSON"的解决办法
- Jquery 调用.net WebService 返回Json、XML方法
- JSONObject.toBean中日期格式数据转换失效的解决办法!
- jquery调用WebService返回JSON(GET , POST)
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- Delphi 调用C#编写的WebService 参数为Null解决方法
- Jquery Easy UI 中的datagrid通过url调用webservice返回json数据
- (转)jquery跨域调用webService,以及解决跨域情况下只能返回XMl格式数据的问题
- 调用WebAPI接口地址返回序列化的JSON对象中的属性都加了个k__BackingField关键字的解决办法
- jQuery调用WebService返回JSON数据及参数设置注意问题
- jquery里面调用getjson方法,将list类型转换为json格式数据,在页面迭代显示
- Delphi 调用C#编写的WebService 参数为Null解决方法
- jQuery调用WebService返回JSON数据
- VS2010使用C#调用C++编写的dll,在其他电脑上无法运行的解决办法
- c#将http调用返回额json中的有关中文的unicode转换为中文(转)
- jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON解决办法
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法