JS:基础对象的事件驱动的脚本语言。
Ajax:异步通讯,回调获取结果,局部更新提升人机交互。基于javascript和xml的脚本语言。
[size=large] 1)同步和异步的区别?[/size]
同步:一个请求对应一个响应,下一次请求必须依赖当前请求完成。
异步:一次可以提供多个请求,而不需要等待用户的响应。
如何响应呢?
AJax的所有请求都交给ajax引擎,由ajax引擎通过XMLHttpRequest的send、get、sentRequestHeader
status和readyState来进行请求的封装。
如果请求都成功,响应通过回调的方式直接交给客户端函数的最后一个形参。
Ajax引擎把响应的结果回调给客户端?用什么方式给客户端?
通过XMLHttpRequest的onreadaystatechange事件(回调函数)将结果返回给用户。
[size=large] 2)Ajax如何完成局部更新?有哪些常用函数和步骤[/size]
略。见1)
[size=large] 3)回调和直调的区别?[/size]
直调:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用
回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。如:如dwr的js调用,函数形参作为最后一个参数。ajax返回也是回调的。即,在客户端调用服务器的方法,服务器方法的参数列表最后紧跟着函数形参。
异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
如:js中访问服务器端EmployeesDao对应类的findCondition(int employee_id)方法,这就是回调。
EmployeesDao.findCondition(employee_id,function(v){
result.innerHTML=v;
});
回调和异步调用的关系非常紧密:使用回调来实现异步消息的注册,通过异步调用来实现消息的通知
[size=large] 4)回调函数的返回值的类型有几个?[/size]
2个,文本和xml
responseText:以字符串形式返回HTTP响应;
responseXML:XML形式返回HTTP响应。可以使用W3C DOM节点树方法和属性对该XML文档对象进行检查和解析
注:如果文档不是良构的(不符合节点树)或不支持文档相应的字符编码,那么responseXML的值将为null
使用: 如:var xmlDoc = xmlHttp.responseXML.documentElement; //得到文档节点,这时可以用DOM的方式解析
[size=large]ReadyState 与 status[/size]
ReadyState 的值:
0: 已经创建一个XMLHttpRequest对象
1: 调用了open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器
2:已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应
3:已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束
4:响应已经被完全接收
status:
仅当readyState值为3(正在接收中)或4(已加载)时,这个status属性才可用。当readyState的值小于3时试图存取status的值将引发一个异常
xmlhttp.status == 200表示xmlhttp与后台正常交互完成
[size=large] 5):ajax如何解决乱码的问题[/size]
详情请见附件
[size=large] ajax如何解决清理缓存的问题[/size]
对于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();
[size=large] 清理html缓存[/size]
<meta http-equiv="expires"content="0">
[size=large]如何设置ajax完成代码逻辑的预防攻击。????[/size]
Ajax:异步通讯,回调获取结果,局部更新提升人机交互。基于javascript和xml的脚本语言。
[size=large] 1)同步和异步的区别?[/size]
同步:一个请求对应一个响应,下一次请求必须依赖当前请求完成。
异步:一次可以提供多个请求,而不需要等待用户的响应。
如何响应呢?
AJax的所有请求都交给ajax引擎,由ajax引擎通过XMLHttpRequest的send、get、sentRequestHeader
status和readyState来进行请求的封装。
如果请求都成功,响应通过回调的方式直接交给客户端函数的最后一个形参。
Ajax引擎把响应的结果回调给客户端?用什么方式给客户端?
通过XMLHttpRequest的onreadaystatechange事件(回调函数)将结果返回给用户。
[size=large] 2)Ajax如何完成局部更新?有哪些常用函数和步骤[/size]
略。见1)
[size=large] 3)回调和直调的区别?[/size]
直调:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用
回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。如:如dwr的js调用,函数形参作为最后一个参数。ajax返回也是回调的。即,在客户端调用服务器的方法,服务器方法的参数列表最后紧跟着函数形参。
异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
如:js中访问服务器端EmployeesDao对应类的findCondition(int employee_id)方法,这就是回调。
EmployeesDao.findCondition(employee_id,function(v){
result.innerHTML=v;
});
回调和异步调用的关系非常紧密:使用回调来实现异步消息的注册,通过异步调用来实现消息的通知
[size=large] 4)回调函数的返回值的类型有几个?[/size]
2个,文本和xml
responseText:以字符串形式返回HTTP响应;
responseXML:XML形式返回HTTP响应。可以使用W3C DOM节点树方法和属性对该XML文档对象进行检查和解析
注:如果文档不是良构的(不符合节点树)或不支持文档相应的字符编码,那么responseXML的值将为null
使用: 如:var xmlDoc = xmlHttp.responseXML.documentElement; //得到文档节点,这时可以用DOM的方式解析
[size=large]ReadyState 与 status[/size]
ReadyState 的值:
0: 已经创建一个XMLHttpRequest对象
1: 调用了open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器
2:已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应
3:已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束
4:响应已经被完全接收
status:
仅当readyState值为3(正在接收中)或4(已加载)时,这个status属性才可用。当readyState的值小于3时试图存取status的值将引发一个异常
xmlhttp.status == 200表示xmlhttp与后台正常交互完成
[size=large] 5):ajax如何解决乱码的问题[/size]
详情请见附件
[size=large] ajax如何解决清理缓存的问题[/size]
对于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();
[size=large] 清理html缓存[/size]
<meta http-equiv="expires"content="0">
[size=large]如何设置ajax完成代码逻辑的预防攻击。????[/size]