WebService使用JSON格式传递笔记+JQuery测试
原文WebService使用JSON格式传递笔记+JQuery测试
因为一些因素,必须改写WebService,很传统,但是很多公司还在用.. 因为XML 的关系,不想让他传递数据的时候过度肥大,所以我必须要尽量干净的JSON.. 于是开始我的改写旅程.. 首先,网络上好多好多好多文件,可能因为状况不同,测试过许多也让我搞混很多次.. 最后有找到答案..笔记一下.. 首先我开了三个不同的WebMethod 来测试三种不同的输出.. GetUserInfoString –取得字符串 GetOneUserInfo - 取得一个对象 GetUsers - 取得对象们
01.usingSystem.Collections.Generic;02.usingSystem.Web.Script.Services;03.usingSystem.Web.Services;04.05.namespaceJsonServiceSample06.{07.08.publicclassUser09.{10.publicstringName {get;set; }11.publicintAge {get;set; }12.}13.14.15.[WebService(Namespace ="", Description ="For Donma Test")]16.[System.ComponentModel.ToolboxItem(false)]17.[ScriptService]18.publicclassService1 : WebService19.{20.21.22.[WebMethod]23.[ScriptMethod(ResponseFormat = ResponseFormat.Json)]24.publicstringGetUserInfoString(stringname,intage)25.{26.returnname +","+ age;27.}28.29.30.[WebMethod]31.[ScriptMethod(ResponseFormat = ResponseFormat.Json)]32.publicUser GetOneUserInfo(stringname,intage)33.{34.return(newUser { Name = name, Age = age });35.36.}37.38.39.[WebMethod]40.[ScriptMethod(ResponseFormat = ResponseFormat.Json)]41.publicUser[] GetUsers(stringname,intage)42.{43.List<User> res =newList<User>();44.res.Add(newUser { Name = name +"1", Age = age });45.res.Add(newUser { Name = name +"2", Age = age });46.47.returnres.ToArray();48.}49.50.}51.}再来一个重点,在每一个Method 上方我都会加上www.it165.net
[WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
因为基于有时候我会需要使用GET 方式传递 所以我在Web Config 中加入 在system.web 中加入
<webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost" /> <add name="Documentation" /> </protocols> </webServices> Web.Config 全文:
01.<?xmlversion="1.0"?>02.03.<!--04.For more information on how to configure your <ahref="http://www.it165.net/pro/webasp/"target="_blank"class="keylink">ASP</a>.NET application, please visit06.-->07.08.<configuration>09.<configSections>10.<sectionGroupname="applicationSettings"type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">11.<sectionname="JsonServiceSample.Properties.Settings"type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"requirePermission="false"/>12.</sectionGroup>13.</configSections>14.<system.web>15.<compilationdebug="true"targetFramework="4.0"/>16.<httpHandlers>17.</httpHandlers>18.19.<webServices>20.<protocols>21.<addname="HttpGet"/>22.<addname="HttpPost"/>23.<addname="Documentation"/>24.</protocols>25.</webServices>26.</system.web>27.28.<applicationSettings>29.<JsonServiceSample.Properties.Settings>30.<settingname="JsonServiceSample_JTestService_Service1"serializeAs="String">32.</setting>33.</JsonServiceSample.Properties.Settings>34.</applicationSettings>35.</configuration>这样试跑一下

奇怪为什么不是JSON ,别紧张…我们继续使用 JQuery 来呼叫看看.. JQuery Code :
01.<input type="button"id="ipt1"value="test"/>02.03.<script type="text/javascript">04.05.functionGetInfo() {06.var$res;07.$.ajax({08.type:"POST",09.url:"Service1.asmx/GetOneUserInfo",10.contentType:"application/json; charset=utf-8",11.async:false,12.cache:false,13.dataType:'json',14.data:"{name:'当麻',age:29}",15.success:function(data) {16.if(data.hasOwnProperty("d")) {17.$res = data.d;18.}19.else20.$res = data;21.}22.});23.return$res;24.}25.26.27.$('#ipt1').click(function() {28.varres = GetInfo();29.alert(res.Name);30.});31.32.33.</script>按钮按下去之后 我让他呼叫 GetOneUserInfo 这 method 并且使用POST 看下结果..

恩恩..的确是JSON, 但是多了一个 d 跟 __type 基本上 __type 不要去动他是不影响,但是 d 这东西必须得处理.. 进行改写..实测过上面三种不同的回传值..都 OK~~ 这样对于传统的 WebService Reference 呼叫 WebService 不会有影响.. 也可以透过JQuery 呼叫传递透过JSON…
WebService使用JSON格式传递笔记+JQuery测试的更多相关文章
- C#开发的WebService使用JSON格式传递数据+Ajax测试
[C#] WebService 使用 JSON 格式傳遞筆記 + JQuery 測試 0 2 因為一些因素,必須改寫WebService,很傳統,但是很多公司還在用.. 因為XML 的關係,不想讓他 ...
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析 一:问题demo展示 ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- Java Servlet生成JSON格式数据并用jQuery显示
1.Servlet通过json-lib生成JSON格式的数据 import java.io.IOException;import java.io.PrintWriter;import java.uti ...
- jquery json 格式教程
介绍 我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据.通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解 ...
- Ajax datatype:'JSON'的error问题Status1:200,JSON格式
转自:http://blog.sina.com.cn/s/blog_6e001be701017rux.html <script src="../js/jquery-1.8.0-vsdo ...
- ASP.net jQuery调用webservice返回json数据的一些问题
之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, ...
- jquery ajax调用返回json格式数据处理
Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: ...
- jQuery中使用Ajax获取JSON格式数据示例代码
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...
随机推荐
- 微服务API Gateway
翻译-微服务API Gateway 原文地址:http://microservices.io/patterns/apigateway.html,以下是使用google翻译对原文的翻译. 让我们想象一下 ...
- 如何对 GIT 分支进行规划? (转)
项目背景: 该项目是在2011年11月份使用Asp.net三层帮荷兰某个客户开发的机票预定系统 该客户主要是做中国与欧洲的旅行社业务,特别是最近两年由于中国的发展因此客户也越来越重视机票业务 于是他们 ...
- [SignalR]配置路由
原文:[SignalR]配置路由 注册路由,在代码如下(SignalR 1.*): 脚本修改如下: 但是其官方文档解释是: By default, the route URL which client ...
- CentOS7 安装NFS SSH免密码登陆
配置5台虚拟机 ip为192.168.1.160 - 164,使用160作为共享服务器 使用yum安装nfs 以及rpcbind,有很多文章介绍,这里不再赘述 一.启动服务 1.启动rpcbind s ...
- c# webbrowser 获取用户选中文字
原文:c# webbrowser 获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, webbrowser 获取用户选中文字" tit ...
- Linux/UNIX先进I/O
先进I/O 非阻塞IO 非阻塞I/O因此,我们可以称之为open.read和write这种I/O操作,而这些操作不会永久阻止.我们假设,该操作不能完成,然后调用立即返回一个错误.则表示该操作将继续作为 ...
- C编程的指针涛 ---第十笔记
//指针实例搜索算法 //迷宫算法 //搜索是最长的使用深度优先搜索和广度优先搜索 //作为名称作为一个深度优先搜索,每路一直在寻找到底. //为了防止想法,这样的数据结构 //使得每次找到思路的时候 ...
- FPGA 设计流程,延迟,时间
FPGA 设计流程,延迟,时间 流程:每个时钟周期可以传输的数据比特. 延迟:从输入到时钟周期的输出数据需要经验. 时间:两个元件之间的最大延迟,最高时钟速度. 1 採用流水线能够提高 流量: 比如计 ...
- poj 1328 Radar Installation (简单的贪心)
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42925 Accepted: 94 ...
- bigdata_spark_源码修改_本地环境搭建_eclise
Eclipse 下开发调试环境的配置该小节中使用的各项工具分别为:mac (Windows 7)+Eclipse Java EE 4.4.2+Scala 2.10.4+Sbt 0.13.8+Maven ...