jQuery通过调用webservice返回json数据的问题
由于net frameword35以上添加了对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对象只有一个属性,那就是d,d存储的是webservice方法返回的json格式的字符串信息,而不是json对象,所以不能通过 objdmsg来获取msg信息。而是需要 var realobj=eval('('+od+')')来生成实际的json对象,然后realobjmsg才是需要的信息。
例子如下
testasmx
+展开
-C#
using SystemWebScriptServices;
using SystemWebServices;
namespace WebService35
{
[WebService(Namespace = ">
利用getJson()函数获取json文件
getJson(url,[data],[Callback]),对具体的参数解释如下:
url:加载的页面地址
data:传递的数据
Callback:加载完成是回调函数
例子:
[html] view plain copy
function LoginQueryAccount(){
$getJSON("userinfojson",function(data){
var $jsontip = $("rightdiv");
var strHtml = "";//存储数据的变量
$jsontipempty();//清空内容
$each(data,function(infoIndex,info){
strHtml += "姓名:"+info["name"]+"</br>";
strHtml += "性别:"+info["sex"]+"</br>";
strHtml += "邮箱:"+info["email"]+"</br>";
strHtml += "</hr>"
});
$jsontiphtml(strHtml);//显示处理后的数据
})
}
以上就是关于webservice从Oracle返回JSON数据,怎么得到url全部的内容,包括:webservice从Oracle返回JSON数据,怎么得到url、如何读取Json文件的数据、HTML5怎么读取json文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)