传统上,在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”},便于读取和操作。
分享到:
相关推荐
asp.net ajax调用aspx、ajax调用ashx处理类方法、ajax调用webservice方法,返回多种数据类型等xml、html等。
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
Asp.net中JQuery、ajax调用后台方法总结
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。 [WebMethod] 命名空间 1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明 后台<C>: using System.Web.Script.Services; ...
1.异步调用aspx.cs方法 2.异步调用WebService方法 3.异步调用一般处理程序方法 4.异步调用动态网页方法 7.返回对象集合参数 8.传递对象集合参数
asp.net调用 jquery ajax 后台使用一般处理程序或者当前页方法
添加用户时验证用户是否存在 vs2010开发环境 asp.net中jquery调用Ajax 和asp.net MVC中jquery调用Ajax 实例
input type=”button” id=”AjaxDemo” value=”AjaxDemo”> 再aspx后台的页面编写一个简单的方法,代码如下: 代码如下: [WebMethod] public static string ABC(string ABC) { return ABC; } 必须声明为静态方法...
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。先来个简单的实例热热身吧。 1、无参数的方法调用asp.net code: 代码如下:using System.Web.Script.Services; [WebMethod] public static string ...
webService中要实现ajax调用,则要加这句代码: // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] 代码下载 /201008/yuanma/WebService2....
主要介绍了ASP.NET中JQuery+AJAX调用后台的相关资料,需要的朋友可以参考下
jQuery和Asp.net的Ajax效果实现,前后端对JSON数据的灵活处理 ASP.NET WebControl的动态调用以及使用Web Control生成HTML代码实现 全手工打造无极树菜单,全手工打造分页控件,全手工打造无缝滚动图片控件
本文实例讲述了轻量级asp.net ajax解决方案。分享给大家供大家参考,具体如下: 跟shotdog老师研究探讨了下asp.net里,除官方庞大asp.net ajax之外的ajax解决方案。我们想法是以不同的服务器端方式输出,然后在页面...
我在这里将jQuery Ajax 调用Aspx.Net WebService 的几个常用的方法做了一个整理,提供给正在找这方面内容的博友,希望能给学习jQuery的朋友一点帮助,可以直接复制代码运行。
第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 ...附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery ...646
Uploadify 是一个非常好的jQuery文件上传插件,可以实现...下面我给出一个用 ASP.Net 调用的例子。 附件中为MonoDevelop中创建的工程文件。相关文章:http://blog.csdn.net/XinYaping/archive/2011/05/11/6411519.aspx
Uploadify 是一个非常好的jQuery文件上传插件,可以实现无刷新...下面我给出一个用 ASP.Net 调用的例子。 附件中为VS2010中创建的工程文件。相关文章:http://blog.csdn.net/XinYaping/archive/2011/05/11/6411519.aspx
第一种方式:原始的Ajax的调用 第二种方式:利用Jquery 第三种方式:Ajax Helper