• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > Jquery Ajax请求方法小结(值得收藏)

Jquery Ajax请求方法小结(值得收藏)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了Jquery Ajax请求方法小结(值得收藏)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。

废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).

1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中。

url (String) : 请求的HTML页的URL地址。

data (Map) : (可选参数) 发送至服务器的 key/value 数据。

callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。

这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。

这个方法可以很方便的动态加载一些HTML文件,例如表单。

示例代码:

$(".ajax.load").load("[url]http://www.cnblogs.com/QLeelulu/archive/2008/03/30/1130270.html[/url] .post",
 function (responseText, textStatus, XMLHttpRequest){
 this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] 
 //alert(responseText);//请求返回的内容
 //alert(textStatus);//请求状态:success,error
 //alert(XMLHttpRequest);//XMLHttpRequest对象
});

</div>

这里将显示结果。

 

注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。

2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求

参数:

url (String) :  发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

示例代码:

 $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){
 //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.
 this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图
 alert(data);
 //alert(textStatus);//请求状态:success,error等等。
   当然这里捕捉不到error,因为error的时候根本不会运行该回调函数
 //alert(this);
 });
</div>

点击发送请求:

jQuery.get()回调函数里面的 this ,指向的是Ajax请求的选项配置信息:

 

3. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求

参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

示例代码:

Ajax.aspx:

Response.ContentType = "application/json";
Response.Write("{result: ''" + Request["Name"] + ",你好!(这消息来自服务器)''}");
</div>

jQuery 代码:

$.post("Ajax.aspx", { Action: "post", Name: "lulu" },
 function (data, textStatus){
 // data 可以是 xmlDoc, jsonObj, html, text, 等等.
 //this; // 这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this
 alert(data.result);
 }, "json");
</div>

点击提交:

这里设置了请求的格式为"json":

 

如果你设置了请求的格式为"json",此时你没有设置Response回来的ContentType 为:Response.ContentType = "application/json"; 那么你将无法捕捉到返回的数据。
注意一下,alert(data.result); 由于设置了Accept报头为“json”,这里返回的data就是一个对象,并不需要用eval()来转换为对象。

4. jQuery.getScript( url, [callback] ) : 通过 GET 方式请求载入并执行一个 JavaScript 文件。

参数

url (String) : 待载入 JS 文件地址。

callback (Function) : (可选) 成功载入后回调函数。

jQuery 1.2 版本之前,getScript 只能调用同域 JS 文件。 1.2中,您可以跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。

这个方法可以用在例如当只有编辑器focus()的时候才去加载编辑器需要的JS文件.下面看一些示例代码:
加载并执行 test.js。

jQuery 代码:

$.getScript("test.js");
</div>

加载并执行 AjaxEvent.js ,成功后显示信息。

jQuery 代码:

$.getScript("AjaxEvent.js", function(){
 alert("AjaxEvent.js 加载完成并执行完成.你再点击上面的Get或Post按钮看看有什么不同?");
});

</div>

加载完后重新新点击一下上面的 Load 请求看看有什么不同。

jQuery Ajax 事件

Ajax请求会产生若干不同的事件,我们可以订阅这些事件并在其中处理我们的逻辑。在jQuery这里有两种Ajax事件:局部事件 和 全局事件。

局部事件就是在每次的Ajax请求时在方法内定义的,例如:

$.ajax({
 beforeSend: function(){
 // Handle the beforeSend event
 },
 complete: function(){
 // Handle the complete event
 }
 // ...
 });
</div>

全局事件是每次的Ajax请求都会触发的,它会向DOM中的所有元素广播,在上面 getScript() 示例中加载的脚本就是全局Ajax事件。全局事件可以如下定义:

 $("#loading").bind("ajaxSend", function(){
 $(this).show();
 }).bind("ajaxComplete", function(){
 $(this).hide();
 });
</div>

或者:

 $("#loading").ajaxStart(function(){
 $(this).show();
 }); 
</div>

我们可以在特定的请求将全局事件禁用,只要设置下 global 选项就可以了:

 $.ajax({
 url: "test.html",
 global: false,// 禁用全局Ajax事件.
 // ...
 });
</div>

下面是jQuery官方给出的完整的Ajax事件列表:

ajaxStart (Global Event)
This event is broadcast if an Ajax request is started and no other Ajax requests are currently running.
beforeSend (Local Event)
This event, which is triggered before an Ajax request is started, allows you to modify the XMLHttpRequest object (setting additional headers, if need be.)
ajaxSend (Global Event)
This global event is also triggered before the request is run.
success (Local Event)
This event is only called if the request was successful (no errors from the server, no errors with the

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11IE下Ajax提交乱码的快速解决方法
  • 2017-05-11AJAX 验证框架13个
  • 2017-05-11Ajax.基础教程 电子书版 提供下载
  • 2017-05-11双层ajax嵌套(可多层)用法实例
  • 2017-05-11ajax初级教程之获取博文列表
  • 2017-05-11解决ajax跨域请求数据cookie丢失问题
  • 2017-10-30AJAX调用C#后台方法(带参数)
  • 2017-05-11html+js+php一次原始的Ajax请求示例
  • 2017-05-11AJAX初级教程之初识AJAX
  • 2017-05-11仿google搜索提示 SuggestFramework的使用

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 一个简单的ASP+AJAX留言本源码下载
    • 编写轻量ajax组件第三篇实现
    • Ajax 学习资源 中外都有
    • js基本ajax写法示例代码
    • AJAX和JSP混合使用方法实例
    • ajax传递多个参数具体实现
    • ajax三级联动的实现方法
    • 使用ajax操作 JavaScript 对象
    • 使用AjaxFileUpload.js实现异步文件上传示例
    • 使用ajax加载的页面中包含的javascript的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有