JS:基础对象的事件驱动的脚本语言。
Ajax:异步通讯,回调获取结果,局部更新提升人机交互。基于javascript和xml的脚本语言。
1)同步和异步的区别?
同步:一个请求对应一个响应,下一次请求必须依赖当前请求完成。
异步:一次可以提供多个请求,而不需要等待用户的响应。
如何响应呢?
AJax的所有请求都交给ajax引擎,由ajax引擎通过XMLHttpRequest的send、get、sentRequestHeader
status和readyState来进行请求的封装。
如果请求都成功,响应通过回调的方式直接交给客户端函数的最后一个形参。
Ajax引擎把响应的结果回调给客户端?用什么方式给客户端?
通过XMLHttpRequest的onreadaystatechange事件(回调函数)将结果返回给用户。
2)Ajax如何完成局部更新?有哪些常用函数和步骤
略。见1)
3)回调和直调的区别?
直调:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用
回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。如:如dwr的js调用,函数形参作为最后一个参数。ajax返回也是回调的。即,在客户端调用服务器的方法,服务器方法的参数列表最后紧跟着函数形参。
异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
如:js中访问服务器端EmployeesDao对应类的findCondition(int employee_id)方法,这就是回调。
EmployeesDao.findCondition(employee_id,function(v){
result.innerHTML=v;
});
回调和异步调用的关系非常紧密:使用回调来实现异步消息的注册,通过异步调用来实现消息的通知
4)回调函数的返回值的类型有几个?
2个,文本和xml
responseText:以字符串形式返回HTTP响应;
responseXML:XML形式返回HTTP响应。可以使用W3C DOM节点树方法和属性对该XML文档对象进行检查和解析
注:如果文档不是良构的(不符合节点树)或不支持文档相应的字符编码,那么responseXML的值将为null
使用: 如:var xmlDoc = xmlHttp.responseXML.documentElement; //得到文档节点,这时可以用DOM的方式解析
ReadyState 与 status
ReadyState 的值:
0: 已经创建一个XMLHttpRequest对象
1: 调用了open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器
2:已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应
3:已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束
4:响应已经被完全接收
status:
仅当readyState值为3(正在接收中)或4(已加载)时,这个status属性才可用。当readyState的值小于3时试图存取status的值将引发一个异常
xmlhttp.status == 200表示xmlhttp与后台正常交互完成
5):ajax如何解决乱码的问题
详情请见附件
ajax如何解决清理缓存的问题
对于jsp网页(方法有两种)
response.addHeader("pragma", "no-cache");
response.addHeader("cache-control", "no-cache,must-revalidate");
response.addHeader("expires", "0");
或者采用 随机数取得不相同的url
var url = "out_wangzai.asp?time="+ Math.random();
清理html缓存
<meta http-equiv="expires"content="0">
如何设置ajax完成代码逻辑的预防攻击。????
分享到:
相关推荐
很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...
Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...
"AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...
**Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许开发者在Ajax请求发送后和响应返回前进行干预,从而实现对AJAX请求数据的修改。这款插件对于前端开发、...
**AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...
《Head Rush Ajax》是一本专为想要深入理解Ajax技术的开发者编写的书籍。Ajax,全称为"Asynchronous JavaScript and XML",并非一种单一的技术,而是一种综合了多种Web开发技术的运用方式,它允许网页在不刷新整个...
**Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...
本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
**ASP.NET AJAX 全面解析** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软为.NET Framework提供的一种技术,用于创建富交互式、响应快速的Web应用程序。它将JavaScript库(MicrosoftAjax.js)与服务器端...
2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...
Struts2与Ajax 的实现原理,于Servlet+Ajax原理是一致的,都是通过后台的response.getWriter().print("");把数据传输给前台的。 前台Ajax格式如下(需要导入ajax库,比如:jquery-1.11.3.js) 格式: $(function()...