Ajax常见面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest中控制文档结构的是:()
A DOM
B CSS
C javascript
D XMLHttpRequest
参考答案:A
2. 在Ajax的四种技术中,控制通信的是哪一个()
A DOM
B CSS
C javascript
D XMLHttpRequest
参考答案:D
3. 在Ajax的四种技术中,JavaScript的主要作用是:()
A 控制页面显示风格
B 控制文档结构
C 控制通信
D 控制其他的三个对象
参考答案:D
49.当XMLHttpRequest 对象的状态发生改变时调用yourCallback 函数,下列选项中正确的是()。
A.xmlHttpRequest. yourCallback = onreadystatechange;
B.(yourCallback);
C.(new function(){yourCallback });
D.= yourCallback;
50.关于XmlHttpRequest 对象的五种状态,下列说法正确的是()。
A.1表示新创建B.2表示初始化
C.3表示发送数据完毕D.4表示接收结果完毕
5. 在处理应答中,如果我们要以文本的方式处理,我们需要在参数表中放置XMLHttpRequest 对象的什么属性()
A B
C D
参考答案:A
6. 在处理应答中,如果我们要处理XML文档,我们需要在参数表中放置XMLHttpRequest 对象的什么属性()
A B
C D
参考答案:B
7. 在IE浏览器上创建XMLHttpRequest对象的方法是()
A var a=new ActiveXObject("");
B var a=new XMLHttpRequest();
参考答案:A
8. ==200表示什么
A 表示错误
B 表示找不到资源文件
C 表示成功
参考答案:C
9. ==404表示什么
A 表示错误
B 表示找不到资源文件
C 表示成功
参考答案:B
3. 以下哪个技术不是Ajax技术体系的组成部分
a. XMLHttpRequest
b. DHTML
c. CSS
d. DOM
正确答案:b
AJAX应用和传统Web应用有什么不同
在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。
用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。
因为服务器每次都会返回一个新的页面,所以传统的web应用有可能很慢而且用户交互不友好。
使用AJAX技术,就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。
通过HTTP Request,一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。
介绍一下XMLHttpRequest对象
通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。
AJAX 开始流行始于Google在2005年使用的”Google Suggest”。
“Google Suggest”就是使用XMLHttpRequest对象来创建动态的Web接口:当用户开始输入google的搜索框,Javascript 发送用户输入的字符到服务器,然后服务器返回一个建议列表。
XMLHttpRequest对象在+, Safari , Mozilla Firefox, Opera 8+ 和NetScapt7 开始被支持。
AJAX的全称是什么介绍一下AJAX
AJAX的全称是Asynchronous JavaScript And XML. AJAX是2005年由Google发起并流行起来的编程方法,AJAX不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术。
使用AJAX可以创建更好,更快,更用户界面友好的Web应用。
AJAX技术基于Javascript和HTTP Request.
不同浏览器创建XMLHttpRequest 方法有什么不同
XMLHttpRequest 类首先由Internet Explorer以ActiveX对象引入,被称为XMLHTTP。
后来Mozilla﹑Netscape﹑Safari 和其他浏览器也提供了XMLHttpRequest类,不过它们创建XMLHttpRequest类的方法不同。
对于Internet Explorer浏览器:
xmlhttp_request = new ActiveXObject(” + i + “.0″ );
(”Content-Type”,”text/xml”);
(”Charset”,”gb2312″); }
break;}
catch(e){
xmlhttp_request = false; } } }
else if( )
{ xmlhttp_request = new XMLHttpRequest();
if
{ (’text/xml’); } } }
catch(e){ xmlhttp_request = false; }
发送请求了
可以调用HTTP请求类的open()和send()方法,如下所示:
(’GET’, URL, true);
(null);
open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。
按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。
第二个参数是请求页面的URL。
第三个参数设置请求是否为异步模式。
如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。
这就是”AJAX”中的”A”。
服务器的响应
这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。
可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:
=FunctionName;
FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后,例如:
= function(){
// JavaScript代码段
};
首先要检查请求的状态。
只有当一个完整的服务器响应已经收到了,函数才可以处理该响应。
XMLHttpRequest 提供了readyState属性来对服务器响应进行判断。
readyState的取值如下:
0 (未初始化)
1 (正在装载)
2 (装载完毕)
3 (交互中)
4 (完成)
所以只有当readyState=4时,一个完整的服务器响应已经收到了,函数才可以处理该响应。
具体代码如下:
if == 4) { // 收到完整的服务器响应}
else { // 没有收到完整的服务器响应}
当readyState=4时,一个完整的服务器响应已经收到了,接着,函数会检查HTTP服务器响应的状态值。
完整的状态取值可参见W3C文档。
当HTTP服务器响应的值为200时,表示状态正常。
处理从服务器得到的数据
有两种方式可以得到这些数据:
(1) 以文本字符串的方式返回服务器的响应
(2) 以XMLDocument对象方式返回响应
AJAX的优缺点都有什么
最大的一点是页面无刷新,用户的体验非常好。
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处
理,减轻服务器和带宽的负担,节约空间和宽带租用成本。
并且减轻服务器的负担,
ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成
的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点
1、ajax不支持浏览器back按钮。
2、安全问题AJAX暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试。
Ajax的工作原理
Ajax的核心是JavaScript对象XmlHttpRequest。
该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。
简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。
介绍一下XMLHttpRequest对象的常用方法和属性
open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求方式可以为GET,POST或任何服务器所支持的您想调用的方式。
第二个参数是请求页面的URL。
send()方法,发送具体请求
abort()方法,停止当前请求
readyState属性请求的状态有5个可取值0=未初始化,1=正在加载
2=以加载,3=交互中,4=完成
responseText 属性服务器的响应,表示为一个串
reponseXML 属性服务器的响应,表示为XML
status 服务器的HTTP状态码,200对应ok 400对应not found
Ajax和javascript的区别
javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术,它是利用了一系列相关的技术其中就包括javascript。
Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。
在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。
Javascript的特性
1,控制文档的外观和内容
2,与HTML表单的交互
3,与用户的交互。