如果您想了解AJAX和ajax怎么实现前后端交互的知识,那么本篇文章将是您的不二之选。我们将深入剖析AJAX的各个方面,并为您解答ajax怎么实现前后端交互的疑在这篇文章中,我们将为您介绍AJAX的相
如果您想了解AJAX和ajax怎么实现前后端交互的知识,那么本篇文章将是您的不二之选。我们将深入剖析AJAX的各个方面,并为您解答ajax怎么实现前后端交互的疑在这篇文章中,我们将为您介绍AJAX的相关知识,同时也会详细的解释ajax怎么实现前后端交互的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- AJAX(ajax怎么实现前后端交互)
- 1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?
- 16-Ajax学习之什么是Ajax,Ajax原理
- Ajax 和 XML: 将 Ajax 用于聊天-使用 Ajax 和 PHP 创建聊天应用程序
- Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax
AJAX(ajax怎么实现前后端交互)
function ajaxFunction (){ var xmlHttp; try{ // Firefox,Opera 8.0+,Safari xmlHttp=new XMLHttpRequest (); } catch ( e){ try{// Internet Explorer xmlHttp=new ActiveXObject("Msxml2.XMLHTTP" ); } catch ( e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP" ); } catch ( e){} } } return xmlHttp; } window.onload=function (){ document.getElementById ("ok"). onclick=function (){ //1 创建XMLHttpRequest对象 var xmlHttp=ajaxFunction (); /* * * 2 接收服务器返回的数据[注册监听] * * 怎接收? * * 什么时候接收呢? * onreadystatechange: * •该事件处理函数由服务器触发,而不是用户 * •在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。这依靠更新 XMLHttpRequest 对象的 readyState 来实现。 * 改变 readyState 属性是服务器对客户端连接操作的一种方式。 * •每次 readyState 属性的改变都会触发 readystatechange事件 * 在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。通信状态的改变要激发函数的执行 * <img src="http://img.blog.csdn.net/20150219164750772?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> */ xmlHttp.onreadystatechange =function(){ alert(xmlHttp.readyState ); //alert(xmlHttp.status); * 处理响应处理函数都应该做什么。 首先,它要检查XMLHttpRequest对象的readyState值,* 判断请求目前的状态。 * 参照前文的属性表可以知道,readyState值为4的时候, * 代表服务器已经传回所有的信息,可以开始处理信息并更新页面内容了。如下: if(xmlHttp.readyState ==4){ <img src="http://img.blog.csdn.net/20150219164907883?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> if (xmlHttp .status ==200|| xmlHttp.status==304 ){ //接收服务器端返回的数据 responseText * XMLHttpRequest 的 responseText 属性包含了从服务器发送的数据。 * 它是一个HTML,XML或普通文本,这取决于服务器发送的内容。 * 当 readyState 属性值变成 4 时,responseText 属性才可用,表明 Ajax 请求已经结束。 var data=xmlHttp.responseText ; alert(data); } } } /* * 3 打开和服务器的连接
<img src="http://img.blog.csdn.net/20150219164938088?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> * xmlHttp.open("get","../testServlet",true); * * 参数1:请求方法 get post * * 参数2:请求的路径 * * 参数3:表示请求是否要异步传输,默认值为true(异步) */ 1.GET方式请求: xmlHttp.open("get","../testServlet?timeStamp="+new Date().getTime ()+"&c=18",true); 2.POST方式请求: <img src="http://img.blog.csdn.net/20150219165021313?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150219165045963?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> /* * 4 发送数据到服务器端
<img src="http://img.blog.csdn.net/20150219165215832?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> * * 如果请求方法是get,此时send方法不能发送数据到服务器端 * 即使发送了数据,服务器端也接收不到,该参数设置null * * 此时传递参数可以使用url方式传递参数 */ xmlHttp.send("a=9&b=8" ); //xmlHttp.send(null); } } -----------------------------------------**********************response返回值类型************************************----------------------------------------------------- 1.responseText. <img src="http://img.blog.csdn.net/20150219165255631?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> 2.responseXML. <img src="http://img.blog.csdn.net/20150219165317375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150219165409276?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMtixODE1OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> -------------------关于从服务器响应过里的XML数据进行解析的实例代码:::---------------------------------- // out.println("<china>"); // out.println( "<province name='吉林省'>" ); // out.println( "<city>长春</city>" ); // out.println( "<city>吉林市</city>" ); // out.println( "<city>四平</city>" ); // out.println( "<city>松原</city>" ); // out.println( "<city>通化</city>" ); // out.println( "</province>"); // out.println( "</china>"); xmlHttp. onreadystatechange=function (){ if(xmlHttp.readyState ==4){ if(xmlHttp.status==200 ||xmlHttp .status ==304){ var xmlDoc=xmlHttp.responseXML ; //alert(data); var provinceXmlElements=xmlDoc.getElementsByTagName ("province"); for(var i=0 ;i <provinceXmlElements. length;i++){ var name=provinceXmlElements [i ].getAttribute ("name"); var optionElement=document .createElement ("option"); optionElement.setAttribute ("value",name); var optionTextElement=document .createTextNode (name ); optionElement.appendChild (optionTextElement ); var provinceElement=document .getElementById ("province"); provinceElement.appendChild (optionElement ); } } } }
AJAX实质上也是遵循Request/Server模式,所以这个框架基本的流程是:
规则如下:
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
<script language="JavaScript"> var people={ "username":"zhang","sex":"male","tel":{"phone" :"110","cell":"13812345678" },"address":[ {"city": "tieling","postcode" :"110"},{"city": "beijing","postcode" :"100"} ] } alert(people.username ); alert(people.tel.cell); alert(people.address[1 ].city ); </script >
1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?
基本上就是这个问题(括号很重要)
答案1
小编典典.ajaxStart()
并且.ajaxStop()
针对
所有 请求 一起使用 ,ajaxStart
在第 一个
同时请求开始时ajaxStop
触发,然后在该同时批处理的 最后一个
完成时触发。
因此,假设您一次发出3个请求,ajaxStart()
在第一个请求开始时ajaxStop()
触发,在最后一个请求返回时(它们不一定按顺序完成)触发。
这些事件 没有 任何参数,因为它们是针对一批请求的:
.ajaxStart( handler() ).ajaxStop( handler() )
.ajaxSend()
并.ajaxComplete()
在
每个请求 发送/完成后触发一次。这就是为什么这些处理程序传递参数而全局/批处理参数不传递的原因:
.ajaxSend( handler(event, XMLHttpRequest, ajaxOptions) ).ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) )
对于单个文档来源,您需要遵循的是API的Global
Ajax Events部分。
16-Ajax学习之什么是Ajax,Ajax原理
Asynchronous Javascript And XML,异步JavaScript和XML
包含7种技术: xml,javascript,css,xmlhttprequest,xstl,dom,xhtml
2.传统的客户端和服务器响应方式缺点:
1.数据是整体提交
2.整个页面有刷新
3.用户体验不好
4.占带宽(使用流量大)
3. ajax是一个与服务器语言无关的技术。
可以用到PHP,javaee,.net网站。
4.为什么ajax会如此流行?
1.页面无刷新的动态数据交换
2。局部刷新页面{验证用户名唯一}
3.界面的美观[增强用户体验]
4.对数据库的操作
5.可以返回简单的文本格式,也可以返回xml文件格式,json数据格式
无刷新数据交换技术有下:
flash,java applet,框架,iframe,ajax
ajax原理:
老师想买个东西,可是他正在上课,
如果去买东西了,同学们就得等,于是就找了小王帮他买。
就不用同学们等待了。
Ajax 和 XML: 将 Ajax 用于聊天-使用 Ajax 和 PHP 创建聊天应用程序
了解如何使用 Asynchronous JavaScript™ + XML (Ajax) 和 PHP 在 Web 应用程序中建立聊天系统。您的客户不需要下载或安装任何专门的即时消息通讯软件,就能和您及其他客户讨论网站的内容。
web 2.0 一词出现以来,开发人员都在说社区。不论您是否认为这有点夸大其辞,但让用户或读者能够方便地实时讨论页面主题或者销售的产品,这一想法还是很吸引人的。但是怎么办呢?能否在推销产品的页面中加入聊天,而不必让客户安装任何特殊的软件包括 adobe flash player 呢?当然!实践证明,用免费的现成工具如 php、mysql、动态 html (dhtml)、ajax 和 prototype.js 库就能完全做到。
不再罗嗦了,让我们立即开始吧。
本文转自:IBM developerWorks 中国
请点击此处查看全文
Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax
我们今天的关于AJAX和ajax怎么实现前后端交互的分享已经告一段落,感谢您的关注,如果您想了解更多关于1.(ajaxStart和ajaxSend)和2.(ajaxStop和ajaxComplete)之间有什么区别?、16-Ajax学习之什么是Ajax,Ajax原理、Ajax 和 XML: 将 Ajax 用于聊天-使用 Ajax 和 PHP 创建聊天应用程序、Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax的相关信息,请在本站查询。
本文标签: