ajax怎么请求webserver的某个方法返回string
2015-07-20 13:31
501 查看
做数据交互的时候,处理后台程序,有的时候会用到一般处理程序(ashx),而webserver和一般处理程序有同样的功效,并且可以跨平台调用
方法“HelloWorld()”,返回string类型的字符串,序列化字符串。
这样后台的服务程序就部署完毕。
关于两者的一些区别:
ashx是轻量级的使用方便,部署快速。一个webservice可以实现多个方法。 而ashx文件里只能完成一个方法。就是如果你的页面用到了很多ajax事件的话,如果用asmx方式只用写一个webservice把他们包括在内就可以了,而如果用ashx的话会有多个ajax事件就要写多少个ashx文件。
方法实例:
后台接口 #region 商品详情信息 [WebMethod(Description = "商品详情信息")] public void DetailComm(int id) { string sql = string.Format(@"select * from Commodity where Id={0} and Visible = 1 update Commodity set CommStock+=1 where Id={0}", id); DataTable dt = DBHelper.Instance().GetDataTableBySql(sql); if (dt.Rows.Count > 0) { List<object> list = new List<object>(); for (int i = 0; i < dt.Rows.Count; i++) { int commid = Convert.ToInt32(dt.Rows[i][0]); string name = dt.Rows[i][1].ToString(); decimal price = Convert.ToDecimal(dt.Rows[i][8]); string img = dt.Rows[i][3].ToString(); int commvolume = Convert.ToInt32(dt.Rows[i][9]); int commStock = Convert.ToInt32(dt.Rows[i][11]); DateTime AddTime = Convert.ToDateTime(dt.Rows[i][13]); list.Add(new { Commid = commid, Name = name, Img = img,Price=price ,Commvolume = commvolume, CommStock = commStock,AddTime=AddTime, state = 1 }); } HttpContext.Current.Response.Write(JsonConvert.SerializeObject(list)); } else { string JsonStr = JsonConvert.SerializeObject(new { state = 0 }); HttpContext.Current.Response.Write(JsonStr); } } #endregion
下面就详细说明一下它的定义以及调用:
1.引用
首先新建项目目录如下(记得调用JQ插件),添加webserver服务并引用服务,引用服务之前得启动(就是运行一遍asmx).2.写将要调用的方法
由于是使用js里面的ajax调用服务并且需要返回JSON格式的字符串,所以需要添加[ScriptService]标记方法“HelloWorld()”,返回string类型的字符串,序列化字符串。
这样后台的服务程序就部署完毕。
3.使用js调用webserver服务
每一个属性都有具体的作用(初学者不建议缩减代码,不知道属性作用可以百度去找),这样程序就可以正常访问了!相关文章推荐
- 我是运营,我没有假期
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- DB2数据库的安装
- 通过Mootools 1.2来操纵HTML DOM元素
- 再谈Jquery Ajax方法传递到action(补充)
- WEB标准网页布局中尽量不要使用的HTML标签
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- Flash 与 html 的一些实用技巧
- Dom在ajax技术中的作用说明
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导
- 修复mysql数据库
- C#自写的一个HTML解析类(类似XElement语法)
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- 没有文件大小限制并免费的PDF到HTML转换工具
- 探讨Ajax中同步与异步之间的区别
- SQLServer 数据导入导出的几种方法小结