Ajax调用Webservice返回JSON数据
来源:互联网 发布:以房养老不可行数据 编辑:程序博客网 时间:2024/05/22 04:41
出处:http://blog.sina.com.cn/s/blog_4c81e6230100r2ve.html
<title></title>
<script src="scripts/jquery-1.6.min.js" type="text/javascript"></script>
<script type="text/javascript"> $(document).ready(function() { $("#sayHelloButton").click(function(event) { $.ajax({ type: "POST", url: "WebService.asmx/GetTest", contentType: "application/json; charset=utf-8", dataType: "json", data: "{}", beforeSend: loading, success: function(msg) { Response(msg); }, error: AjaxFailed }); }); });
function loading() { $('#loading_img').html('<img src="images/o_loading.gif"/>'); } function Response(data) { var realobj = eval_r('(' + data.d + ')') $('#loading_img').html('<img src="images/' + realobj.uName + '.jpg"/>'); } function AjaxFailed(result) { alert(result.status + '' + result.statusText); } </script>
<form id="form1" runat="server"> <div> <input id="sayHelloButton" type="button" value="AjaxLoading" /> </div> <div id="loading_img"> </div> </form>
web服务
由于.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对象只有一个属性,那就是d,d存储的是webservice方法返回的json格式的字符串信息,而不是json对象,所以不能通过 obj.d.msg来获取msg信息。而是需要 var realobj=eval_r('('+o.d+')')来生成实际的json对象,然后realobj.msg才是需要的信息。
示例代码需要配置web.config支持webservice的POST和GET请求,参考
web服务因URL意外地以/**结束,请求格式无法识别
HTML代码:
<%@ Page Language="C#" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
</body>
</html>
0 0
- jQuery Ajax调用WebService返回JSON数据
- Ajax调用Webservice返回JSON数据
- jQuery调用WebService返回JSON数据
- jQuery调用WebService返回JSON数据
- jQuery调用WebService返回JSON数据
- jQuery调用WebService返回JSON数据
- jQuery调用WebService返回JSON数据
- springmvc(ajax调用)返回json数据
- 后台webservice返回JSON,前台js用ajax调用
- webservice返回json数据
- ajax调用返回php接口返回json数据
- jQuery通过调用webservice返回json数据的问题
- jQuery Ajax 跨域下调用webservice返回jsonp格式数据实例
- android webservice 调用返回json
- ajax返回json数据
- Ajax返回JSON数据
- ajax返回json数据
- ajax json数据返回
- OSI七层协议和TCP/IP四层协议之比较
- android开发—项目结构设计
- 如何成为一个Xamarin专家
- Bootstrap之表格checkbox复选框全选(http://blog.csdn.net/shangmingchao)
- 运行docker容器
- Ajax调用Webservice返回JSON数据
- 动态链接库DLL的加载:隐式加载(载入时加载)和显式加载(运行时加载)
- typedef几种常见用法
- AndroidStudio如何打包生成realease版本的arr包,并上传到Nexus搭建的maven仓库,供项目远程依赖(一)
- WinSCP(版本5.7.6)中文文件名显示乱码
- UVa 699 The Falling Leaves
- 01_介绍
- 你不知道的Laravel Eloquent技能
- 欢迎使用CSDN-markdown编辑器