传统上,在ASP.NET页面中实现AJAX的方法是拖放一个ScriptManager控件,并进行一系列的设置和相关编程。但事实上,这并不是理想的解决方案。使用jQuery来调用ASP.NET后台的方法来实现AJAX可以节省至少三次的服务器与客户端之间的通讯连接。

要实现通过jQuery的AJAX来调用ASP.NET后台的方法并不复杂,可以通过一个简单的例子来说明。

首先,在ASP.NET项目中添加一个Web服务(asmx)文件,假设命名为WebService.asmx,可以看到它后台自动生成以下代码:

[WebService(Namespace ="http://tempuri.org/")]
[WebServiceBinding(ConformsTo =WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
//[System.Web.Script.Services.ScriptService]
public class WebService :System.Web.Services.WebService {public WebService () {//如果使用设计的组件,请取消注释以下行//InitializeComponent();}[WebMethod]public string HelloWorld() {return "Hello World";}
}

可以看到,系统已经为使用者做了一个Web服务后台方法的示例,即HelloWorld方法。调用HellowWorld方法不需要任何参数,而调用成功后,就可以获得一个字符串为HelloWorld。

接着,需要取消对[System.Web.Script.Services.ScriptService]这行的注释,使这个Web服务可以被AJAX脚本调用。然后可以通过编写jQuery代码调用这个方法:

$.ajax({type: "POST",url: "WebService.asmx/HelloWorld",data: "{}",contentType: "application/json; charset=utf-8",dataType: "json",success: function(msg) {// 在此可以对获得的响应数据进行操作}
});

注意url的值为Web服务文件的路径后面需要加上“/”符号和调用的方法名称。若是这个方法需要有传入的参数,则可以写在data值中。比如调用test(string parameter)方法,data值需要设置为“{parameter:’传入的值’}”。

使用Firefox运行测试,可以通过Firebug工具的Console控制台看到页面从服务器获得的相应:

可以看到服务器已经将返回的结果自动格式化为了JSON对象。要输出这个返回的“Hello World”字符串,只需要在上面编写的jQuery $.ajax()方法中编写success方法为:

function(msg){varresult = $.parseJSON(msg);alert(msg.d);
}

$.parseJSON()是jQuery框架中用于将字符串转变为JSON对象的一个非常有用的函数,也就是说服务器传回一个’{“d”:”Hello World”}’的字符串,通过这个函数,就可以将它转化为Javascript对象{d:”Hello World”},便于读取和操作。

转载于:https://www.cnblogs.com/jennieji/archive/2012/06/24/2748966.html

通过jQuery调用ASP.NET的AJAX相关推荐

  1. jquery调用asp.net 页面后台方法

    先创建一个aspx页面编写一个客户端控件<input type="button" id="AjaxDemo" value="AjaxDemo&q ...

  2. jquery调用asp.net 页面后台的实现代码

    先创建一个aspx页面编写一个客户端控件<input type="button" id="AjaxDemo" value="AjaxDemo&q ...

  3. ajax调用asp.net,jQuery.ajax()调用asp.net后台方法(非常重要)

    http://www.cnblogs.com/zxhoo/archive/2011/01/30/1947752.html 用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先 ...

  4. jquery ajax跨域asp,jQuery跨域调用Asp.Net Web API

    Asp.Net Web API是一个轻量级的Web服务,当Web API和Web程序不是部署在同一域的时候,要使用jQuery来实现调用API的接口就存在跨域的问题.下面介绍两种方式来解决jQuery ...

  5. ajax webmethod,JQuery直接调用asp.net后台WebMethod方法

    利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.[WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的 ...

  6. 原始ajax方式调用asp.net后台方法

    aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Data.asp ...

  7. EXT调用ASP.NET AJAX WebService

    在asp.net ajax中,使客户端调用WebService变得非常的简单,而且非常有用(个人觉得这个功能是asp.net ajax的核心,很多与客户端的交互都需要个功能来辅助实现).那在EXT中, ...

  8. 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案

    问题描述 当跨域(cross domain)调用ASP.NET MVC或者ASP.NET Web API编写的服务时,会发生无法访问的情况. 重现方式 使用模板创建一个最简单的ASP.NET Web ...

  9. asp .net mvc ajax 传值到后台,并放回JSon值解析

    什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味 ...

最新文章

  1. android Service 的使用
  2. 【MATLAB】数组运算
  3. 【C#学习笔记】退出程序
  4. Veeam Backup Replication v7 安装配置手册
  5. Java设计模式思维导图
  6. win32 API 遍历一个目录下的文件
  7. IdentityServer4 实现 OpenID Connect 和 OAuth 2.0
  8. 学好Java的10个建议
  9. 新浪微博之XSS蠕虫脚本源码讲解
  10. mysql 长时间连接没操作,断开连接
  11. wdatepicker不展示秒_十一出游去哪里?苏州人都不一定知道的地方!
  12. 响应式API的设计、实现和应用
  13. php 检测键名,【PHP教学|带你学习用PHP检测键名是否位于数组中,方法已经告诉你了,如果你想学就赶紧】- 环球网校...
  14. 4a怎么打开sqlserver_百元级别荣耀路由X3和小米路由4A,哪款真的香?
  15. Hbase+Zookeeper配置与安装
  16. win7+VS2008安装boost
  17. 什么样呢软件能测试你的车歪不歪,你知道吗?所有汽车轮子竟然是歪的!
  18. 电子邮件群发软件,邮件群发单显是什么意思?外贸群发邮件软件
  19. 【初识Unity】UI游戏:看看你能答对几题?(游戏可下载)
  20. 杜比dss200服务器系统升级包434,杜比数字影院系统DSS200软件升级指南(初稿).pdf

热门文章

  1. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
  2. struts2 与 sping 整合 控制器中 service注入的问题
  3. 2022-2028年中国塑料零部件行业市场发展规模及市场分析预测报告
  4. Redis 高级特性(4)— 单线程架构
  5. LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素
  6. SpringBoot (四) :SpringBoot整合使用JdbcTemplate
  7. 【PyTorch学习笔记】4:在Tensor上的索引和切片
  8. 科技公司重新关注2级以上驾驶员辅助
  9. NVIDIA空中导航SDK改造5G通信
  10. 【CV】吴恩达机器学习课程笔记 | 第1-15章