jQuery技术

jQuery学习笔记之Ajax用法实例详解(4)

字号+ 作者:H5之家 来源:H5之家 2016-12-25 16:03 我要评论( )

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.SessionState;using System.Xml;namespace MyJQTest{ public class AjaxHandler : IHttpHandler, IRequiresS

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; using System.Xml; namespace MyJQTest { public class AjaxHandler : IHttpHandler, IRequiresSessionState { /// <summary> /// 可复用 /// </summary> public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { AjaxOperations(context); } private void AjaxOperations(HttpContext context) { string action = context.Request["action"]; if (!string.IsNullOrEmpty(action)) { switch (action) { default: break; case "jquery": ProcessJQueryRequest(context); break; } } } private void ProcessJQueryRequest(HttpContext context) { context.Response.ClearContent(); context.Response.ContentType = "text/plain"; //设置输出流类型 context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //没有缓存 string userName = context.Request["userName"].Trim(); string location = context.Request["location"].Trim(); string jsonObject = "{\"userName\":\"" + userName + "\",\"location\":\"" + location + "\"}"; context.Response.Write(jsonObject); } } }

ps:本例中,我们返回的是一段json类型的数据,在客户端没有对json类型数据进行处理,在下一个方法(jQuery.getJSON)中会改进处理的。

4、jQuery.getJSON(url,[data],[callback])

通过 HTTP GET 请求载入 JSON 数据。

在 jQuery 1.2 中,您可以通过使用JSONP 形式的回调函数来加载其他网域的JSON数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
注意:此行以后的代码将在这个回调函数执行前执行。

返回值  XMLHttpRequest

参数

url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 载入成功时回调函数。

示例

function jqAjaxTest() { var jqRequestUrl = "AjaxHandler.ashx"; //getJSON方法调用 $.getJSON(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqGetJsonCallBack); //返回json数据类型 } //对json数据进行处理 (oData是json类型的数据) function jqGetJsonCallBack(oData) { var oJsonStr = ""; //取json中的数据,并呈现 oJsonStr += "userName:" + oData.userName + "  location:" + oData.location + "<br/>"; //在div中显示所有数据 $("#divResult").html(oJsonStr); $("#divResult").css("display", "block"); $("#divResult").css("color", "red"); }

5、jQuery.getScript(url,[callback])

通过 HTTP GET 请求载入并执行一个 JavaScript 文件。

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

返回值  XMLHttpRequest

参数

url (String) : 待载入 JS 文件地址。
callback (Function) : (可选) 成功载入后回调函数。

示例

function jqAjaxTest() { var jsUrl = "js/jqLoadJs.js"; //getScript方法调用 $.getScript(jsUrl, jqGetJsCallBack); } //oData返回的是整个js路径下js文件内容 function jqGetJsCallBack(oData) { alert(oData); }

6、jQuery.post(url,[data],[callback],[type])

通过远程 HTTP POST 请求载入信息。

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

返回值  XMLHttpRequest

参数

url (String) : 发送请求地址。
data (Map) : (可选) 待发送 Key/value 参数。
callback (Function) : (可选) 发送成功时回调函数。
type (String) : (可选) 返回内容格式,xml, html, script, json, text, _default。

示例

function jqAjaxTest() { var jqRequestUrl = "AjaxHandler.ashx"; $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text"); //返回text数据类型 } function jqPostCallBack(oData) { //在div中显示所有数据 $("#divResult").html(oData); $("#divResult").css("display", "block"); $("#divResult").css("color", "red"); }

二、Ajax事件

1、ajaxComplete(callback)

AJAX 请求完成时执行函数。Ajax 事件。

XMLHttpRequest 对象和设置作为参数传递给回调函数。

返回值  jQuery

参数

callback (Function) : 待执行函数

示例

function jqAjaxTest() { var jqRequestUrl = "AjaxHandler.ashx"; $.post(jqRequestUrl + "?action=jquery", { userName: "jeff wong", location: "beijing" }, jqPostCallBack, "text"); //返回text数据类型 //AJAX 请求完成时执行函数 $("#divResult").ajaxComplete(function(event, request, settings) { $(this).append("<br/>请求完成."); }); } function jqPostCallBack(oData) { //在div中显示所有数据 $("#divResult").html(oData); $("#divResult").css("display", "block"); $("#divResult").css("color", "red"); }

2、ajaxError(callback)

AJAX 请求发生错误时执行函数。Ajax 事件。

XMLHttpRequest 对象和设置作为参数传递给回调函数。捕捉到的错误可作为最后一个参数传递。

返回值  jQuery

参数

callback (Function) : 待执行函数

function (event, XMLHttpRequest, ajaxOptions, thrownError) { // thrownError 只有当异常发生时才会被传递 this; // 监听的 dom 元素 }

示例

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery学习笔记之jQuery中的$

    jQuery学习笔记之jQuery中的$

    2016-12-25 17:00

  • 基于jquery实现即时检查格式是否正确的表单

    基于jquery实现即时检查格式是否正确的表单

    2016-12-25 15:00

  • jquery处理xml

    jquery处理xml

    2016-12-25 14:01

  • jQuery EasyUI如何给Combobox附加项option?

    jQuery EasyUI如何给Combobox附加项option?

    2016-12-25 14:00

网友点评