1. Ajax有四种技术组成:DOM,CSS,JavaScript,XmlHttpRequest中控制文档结构的是:()A DOMB CSSC javascriptD XMLHttpRequest参考答案:A2. 在Ajax的四种技术中,控制通信的是哪一个?()A DOMB CSSC javascriptD XMLHttpRequest参考答案:D3. 在Ajax的四种技术中,JavaScript的主要作用是:()A 控制页面显示风格B 控制文档结构C 控制通信D 控制其他的三个对象参考答案:D49.当XMLHttpRequest 对象的状态发生改变时调用yourCallback 函数,下列选项中正确的是()。
A.xmlHttpRequest. yourCallback = onreadystatechange; B.xmlHttpRequest.onreadystatechange (yourCallback); C.xmlHttpRequest.onreadystatechange (new function(){yourCallback }); D.xmlHttpRequest.onreadystatechange = yourCallback;50.关于XmlHttpRequest 对象的五种状态,下列说法正确的是()。
A.1表示新创建B.2表示初始化C.3表示发送数据完毕D.4表示接收结果完毕5. 在处理应答中,如果我们要以文本的方式处理,我们需要在参数表中放置XMLHttpRequest对象的什么属性?()A xhr.responseTextB xhr.responseXMLC xhr.requestTextD xhr.requestXML参考答案:A6. 在处理应答中,如果我们要处理XML文档,我们需要在参数表中放置XMLHttpRequest 对象的什么属性?()A xhr.responseTextB xhr.responseXMLC xhr.requestTextD xhr.requestXML参考答案:B7. 在IE浏览器上创建XMLHttpRequest对象的方法是?()A var a=new ActiveXObject("Microsoft.XMLHTTP");B var a=new XMLHttpRequest();参考答案:A8. xhr.status==200表示什么?A 表示错误B 表示找不到资源文件C 表示成功参考答案:C9. xhr.status==404表示什么?A 表示错误B 表示找不到资源文件C 表示成功参考答案:B3. 以下哪个技术不是Ajax技术体系的组成部分?a. XMLHttpRequestb. DHTMLc. CSSd. DOM正确答案:bAJAX应用和传统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对象在IE5.0+, Safari 1.2, Mozilla 1.0/Firefox, Opera 8+ 和NetScapt7 开始被支持。
AJAX的全称是什么?介绍一下AJAXAJAX的全称是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(”Msxml2.XMLHTTP.3.0″); //3.0或4.0, 5.0 xmlhttp_request = new ActiveXObject(”Msxml2.XMLHTTP”);xmlhttp_request = new ActiveXObject(”Microsoft.XMLHTTP”);由于在不同Internet Explorer浏览器中XMLHTTP版本可能不一致,为了更好的兼容不同版本的Internet Explorer浏览器,因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类,上面代码就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法。
对于Mozilla﹑Netscape﹑Safari等浏览器创建XMLHttpRequest 方法如下:xmlhttp_request = new XMLHttpRequest();如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作。
为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header。
xmlhttp_request = new XMLHttpRequest();xmlhttp_request.overrideMimeType(’text/xml’);在实际应用中,为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法写成如下形式:try{if( window.ActiveXObject ){for( var i = 5; i; i– ){try{if( i == 2 ){xmlhttp_request = new ActiveXObject( “Microsoft.XMLHTTP” ); }else{xmlhttp_request = new ActiveXObject( “Msxml2.XMLHTTP.” + i + “.0″ ); xmlhttp_request.setRequestHead er(”Content-Type”,”text/xml”);xmlhttp_request.setRequestHeader(”Charset”,”gb2312″); }break;}catch(e){xmlhttp_request = false; } } }else if( window.XMLHttpRequest ){ xmlhttp_request = new XMLHttpRequest();if (xmlhttp_request.overrideMimeType){ xmlht tp_request.overrideMimeType(’text/xml’); } } }catch(e){ xmlhttp_request = false; }发送请求了可以调用HTTP请求类的open()和send()方法,如下所示:xmlhttp_request.open(’GET’, URL, true);xmlhttp_request.send(null);open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。
按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。
第二个参数是请求页面的URL。
第三个参数设置请求是否为异步模式。
如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。
这就是”AJAX”中的”A”。
服务器的响应这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。
可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:xmlhttp_request.onreadystatechange =FunctionName;FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后,例如:xmlhttp_request.onreadystatechange = function(){// JavaScript代码段};首先要检查请求的状态。
只有当一个完整的服务器响应已经收到了,函数才可以处理该响应。
XMLHttpRequest 提供了readyState属性来对服务器响应进行判断。
readyState的取值如下:0 (未初始化)1 (正在装载)2 (装载完毕)3 (交互中)4 (完成)所以只有当readyState=4时,一个完整的服务器响应已经收到了,函数才可以处理该响应。
具体代码如下:if (http_request.readyState == 4) { // 收到完整的服务器响应}else { // 没有收到完整的服务器响应}当readyState=4时,一个完整的服务器响应已经收到了,接着,函数会检查HTTP服务器响应的状态值。
完整的状态取值可参见W3C文档。
当HTTP服务器响应的值为200时,表示状态正常。