软件开发是学什么,优化方案化学,红网,汕头网站优化由于.net frameword3.5以上添加了对contenttype的检查#xff0c;当ajax发送请求时#xff0c;如果设置了contenttype为json#xff0c;那么请求webservice时#xff0c;会自动将返回的内容转为json的格式#xff0c;json的格式iruxia{d:webservice方法… 由于.net frameword3.5以上添加了对contenttype的检查当ajax发送请求时如果设置了contenttype为json那么请求webservice时会自动将返回的内容转为json的格式json的格式iruxia {d:webservice方法返回的字符串内容} 这时出现一个问题了如果方法返回的是一个json格式的字符串那么如何获得实际的json对象而不是只有一个属性d的json对象呢 其实很简单我们只需要在success回调函数中eval下jquery通过获取webservice得到的json对象的d属性就可以获取到实际的json对象了。 如下如果方法返回的是 {msg:其实我也是json对象的字符串} 这种信息我们如何获取到msg这个属性的值呢 首先一定要明确的时调用webservice的方法后实际获取到的json格式的字符串是这样的 {d:{msg:其实我也是json对象的字符串}} jquery通过这个字符串生成的json对象只有一个属性那就是dd存储的是webservice方法返回的json格式的字符串信息而不是json对象所以不能通过 obj.d.msg来获取msg信息。而是需要 var realobjeval((o.d))来生成实际的json对象然后realobj.msg才是需要的信息。 script typetext/javascript$(function () {$.ajax({url: Artapi.asmx/HelloWorld,type: post,dataType: json,contentType: application/json; charsetutf-8,data: {id:2},success: function (data) {alert(data.d); var realobj eval(( data.d ))alert(realobj.msg);},error: function () {alert(error~);}});})
/script[WebMethod]public string HelloWorld(int id){ string Message {\flag\:true,\msg\:id}; return Message;}转载于:https://www.cnblogs.com/surfing/p/3256222.html