`

jQuery与Ajax(二)

阅读更多

1.jQuery中的AJAX服务器端返回方式

目前支持的数据类型有:Text,XML,HTML,Script,JSON,Jsonp格式。下面将分别介绍使用ajax函数接受服务器端返回这些数据类型时的处理方式。

①html方式

html方式是jQuery中在进行AJAX请求时的默认方式。如果返回的html代码中有javascript代码,用html(),append()这些函数将返回的html代码装载到当前页面的时候才会执行其中包含的javascript代码,并且该代码只执行一次并不缓存。

ajax()函数html方式页面

<input type="button" id="ajax1" value="ajax(html)"/>

<div id="1"> </div>

$("#ajax1").click(function(){$.ajax({url:"ajax.htm",dataType:"Html"

,success:function(data){$("#1").append(data)}})

})

ajax.htm

<body>

<script type="text/javascript">

var btn=document.getElementById("Button1");

btn.onclick=function(){alert("oh,you clicked me")};

</script>

    <input id="Text1" type="text" />

    <input id="Password1" type="password" />

    <input id="Button1" type="button" value="button" />

</body>

②text方式

与html方式很像,它们都是返回一个String对象

ajax()函数text方式页面

<input type="button" id="ajax2" value="ajax(text)"/>

<div id="1"> </div>

$("#ajax2").click(function(){$.ajax({url:"ajax.txt",dataType:"Text"

,success:function(data){$("#1").append(data)}})

})

ajax.txt

这里是一个文本文件

③xml方式

xml方式返回的是一个XML对象,如果被请求的XML写得不正确或不完整,jQuery会抛出一个异常,AJAX请求被强制终止。

这里只提一些关于javaScript中创建XML文档对象模型的问题,首先不同浏览器创建XML文档对象的方式不同,常规如下:

function loadXML(xmlpath){                              根据不同浏览器创建xml文档对象模型

var xmlDoc=null;

if(window.ActiveXObject){       IE内核浏览器

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

}else if(document.implementation&&document.implementation.createDocument){ 非IE内核浏览器

xmlDoc=document.implementation.createDocument("","",null);

}else{alert("你的浏览器不能处理该脚本");}

xmlDoc.async=false;

xmlDoc.load(xmlpath);

return xmlDoc;

}

http://www.w3school.com.cn/xmldom/dom_loadxmldoc.asp

但起码在chrome下会抛出Object #<a document> has no method 'loas'的异常,可以改成如下:

function loadXML(xmlpath){

var xmlDoc=null;

if(window.ActiveXObject){

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async=false;

xmlDoc.load(xmlpath);

}else if(document.implementation&&document.implementation.createDocument){ //非IE内核浏览器

var xmlhttp=new window.XMLHttpRequest();

xmlhttp.open("GET",xmlpath,false);

xmlhttp.send(null);

xmlDoc=xmlhttp.responseXML;

}else{alert("你的浏览器不能处理该脚本");}

return xmlDoc;  返回的是xml文档对象,不是xml字符串

}

http://mrthink.net/js-jq-xml-function/

$.ajax({url:"ajax.xml",type:"GET",dataType:"XML",success:function(xmlDoc){

alert(xmlDoc);   返回的是xml字符串,不是xml文档对象

}})

④script方式

这种方式在前面的$.getScript()函数中有讲过

script方式严格意义上不属于AJAX范畴,属于浏览器对含有src属性标签的二次请求原理,这里的标签指的就是script标签。原理是在head中创建一个script标签,src属性就是url,浏览器自动加载javaScript文件,并执行该文件的内容,而且对该文件不作缓存,只执行一次。

需要注意的是script方式并不是真正意义上的AJAX,所以jQuery定义的全局AJAX事件并不能完全触发,只能触发两个事件:ajaxSuccess和ajaxComplete

⑤json方式

JSON(javaScript Object Natation)是一种轻量级,基于文本,语言无关的数据交换格式,它是从ECMAScript语言标准衍生而来的。

前面在使用$.get()函数获取json数据时使用了eval()函数将得到的json格式的字符串转化为json对象,而使用$.getJSON()函数貌似得到的是一个json对象而非字符串

⑥jsonp方式

jQuery支持jsonp方式,这种方式主要在跨域请求中使用。我们在后面的学习内容中会使用AJAX进行跨域操作。

分享到:
评论

相关推荐

    Asp.Net MVC之jQuery与AJAX操作实例

    本实例将深入探讨如何在Asp.Net MVC项目中应用jQuery与AJAX。 一、jQuery简介 jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画设计以及Ajax交互。在Asp.Net MVC项目中,jQuery可以帮助开发者更...

    ssh+jquery+ajax二级联动

    在这个"ssh+jquery+ajax二级联动"项目中,开发者可能创建了一个简单的Web应用,实现了基于Ajax的二级联动选择功能。这通常在多级下拉菜单或地区选择等场景中常见,例如:省份选择后,城市列表会动态加载更新。 1. *...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...

    jQuery与Ajax教程WORD版

    资源名称:jQuery与Ajax教程 WORD版内容简介:本文档是jQuery与Ajax教程;jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写Javascript代码的习惯。希望本文档...

    jquery,ajax的几个小例子

    **jQuery和Ajax技术详解*...总结,jQuery和Ajax的结合大大提高了Web应用的用户体验,使得网页能够在不刷新的情况下与服务器进行通信。通过学习和实践这些基本的Ajax功能,开发者能够构建出更加动态和响应式的网页应用。

    基于jQuery的Ajax聊天室程序

    2. **Ajax**:Ajax的核心是创建XMLHttpRequest对象,用于与服务器进行异步通信。在聊天室中,当用户发送消息时,jQuery的$.ajax()函数会被调用,发送数据到服务器。同时,它也用于接收服务器返回的新消息,更新聊天...

    Jquery跨域Ajax请求测试

    本示例"Jquery跨域Ajax请求测试"将详细讲解如何利用jQuery实现这一功能。 首先,了解同源策略是理解跨域问题的关键。同源策略是浏览器为了保障用户安全而设定的一项机制,它规定了只有来自同一协议、同一域名和同一...

    jQuery-ajax-用户名异步请求

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...

    jquery与ajax调用,有代码 , 有说明,使ajax调用简单

    **二、jQuery的Ajax方法** jQuery提供了`.ajax()`方法,它是所有Ajax操作的基础。该方法接受一个包含各种选项的对象作为参数,用于配置请求的细节。以下是一些基本选项: 1. `url`: 服务器端的处理脚本URL。 2. `...

    Ajax里jQuery的ajax与ssh集成

    当我们谈论Ajax与jQuery的ajax方法与SSH框架的集成时,实际上是在讨论如何在前端使用jQuery的Ajax功能与后端SSH框架进行通信,实现数据的无刷新交互。 首先,jQuery的`$.ajax()`方法是核心工具,它允许我们发起异步...

    jquery-ajax实例

    本实例聚焦于"jQuery-AJAX",这是一项核心功能,用于在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。AJAX(异步JavaScript和XML)技术在现代Web开发中扮演着关键角色,而jQuery的ajax方法则提供了...

    jquery,jquery是Ajax的一个框架

    **jQuery:Ajax 的强大工具** jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了前端开发中的许多任务...通过学习和熟练掌握 jQuery 与 AJAX 的结合使用,你可以创建出更加交互性强、用户体验优秀的 web 应用。

    Struts2+Jquery+Ajax

    6. Struts2与Ajax的集成,使用JQuery的$.ajax()或$.getJSON()方法 7. 请求与响应的处理,包括参数传递和数据封装 8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2...

    jquery的ajax方法

    **jQuery的Ajax方法**是JavaScript库中的核心特性之一,它为开发者提供了简单、高效的数据交互方式,无需刷新页面即可实现异步与服务器进行通信。在Web开发中,jQuery的Ajax功能极大地简化了XMLHttpRequest对象的...

    jquery、ajax学习电子书.zip

    二、jQuery中的Ajax jQuery封装了Ajax功能,提供了易于使用的接口来执行异步请求。使用$.ajax()函数,你可以轻松发起GET、POST以及其他HTTP请求,与服务器进行数据交换,无需关心浏览器的兼容性问题。此外,jQuery还...

    jQuery+ajax实现三级级联

    在三级级联中,每当用户在一级或二级下拉菜单中做出选择时,会通过ajax发送异步请求到服务器,获取与当前选择对应的三级下拉菜单的选项数据。 具体实现过程如下: 1. **初始化界面**:在`KnowledgeKinds.jsp`中,...

    jquery+ajax的视频讲解

    在“第八章后jQueryAjax的使用”中,我们将深入探讨如何利用jQuery进行AJAX操作。 **AJAX基础** AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载整个页面的情况下,与服务器...

    jQuery的Ajax实现异步传输List、Map

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下与服务器进行数据交换,极大地提升...

    jquery+AJAX小小项目

    在Web开发中,jQuery和AJAX是两种非常重要的技术,它们使得前端与后端的数据交互变得更加便捷和高效。本项目主要展示了如何利用jQuery库来实现AJAX的增删改查功能,帮助开发者更好地理解和运用这两种技术。 **一、...

Global site tag (gtag.js) - Google Analytics