21、 原生(native)Ajax使用实例

//创建XMLHttpRequest对象的方法

function createXmlHttpRequest(){

if(window.ActiveXObject){

return  new ActiveXObject("Microsoft.XMLHTTP");

}else if(window.XMLHttpRequest){

return  new XMLHttpRequest();

}

}

//ajax操作

function showContent(titleobj){

var url="ShowContentServlet?id="+titleobj.id;  //设置提交路径

XmlHttp2 = createXmlHttpRequest();   //创建对象

XmlHttp2.onreadystatechange = contentProcessRequest;  //设置回调函数

XmlHttp2.open("get",url,true);//get表示路径中带参传值,post表示send方法传值

XmlHttp2.send("null");   //发送请求

}

//回调函数, 就是返回响应后调用的函数

function contentProcessRequest(){

if(XmlHttp2.readyState == 4){

if(XmlHttp2.status == 200){

//根据ajax返回值操作页面元素

}

}

}

22、 XMLHttpRequest对象简介?

1).XMLHttpRequest常用方法,

open("post/get","请求的地址","true/false") :第三个参数是是否使用异步请求,可以为true;和false

send(content): 发送请求,content参数指定请求的参数,如果不需要,则为null,

setRequestHeader(header,value) :设置请求的头信息

2)XMLHttpRequest常用属性,

a) onreadystatechange 指定XMLHttpRequest对象的回调函数。相当于一个事件,当XMLHttpRequest的状态发生

改变的时候,都会调用onreadystatechange指定的回调函数。

代码案例: XMLHttpRequest对象.onreadystatechange =  函数名;

b) readyState: XMLHttpRequest的状态信息,取值如下

0:已经创建了XMLHttpRequest对象,但是还没有初始化

1:此时,代码已经调用open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器

2:此时,已经通过一个send()方法把一个请求发送到了服务器,但还没收到响应

3:此时已经接受了HTTP响应头部信息,但是消息体部分还没完全接收结束

4:响应被完全接收

c) status:HTTP的状态码,仅当readyState的值为3或4的时候,status属性才可,status的值为: 200 :服务器响应正常   , 400:无法找到请求的资源 , 403:没有访问权限 404:访问的资源不存在、 500:服务器内部错误

d)responseText: 获得响应的文本内容(服务器返回的普通文本信息)

f)responseXML:获取响应的XML格式的内容信息

23、 怎么处理Ajax中的缓存

1) 在服务端加 header("Cache-Control: no-cache, must-revalidate");

2) 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0");

3) 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache");

4) 在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了

5) 第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();

6) 用POST替代GET:不推荐

24、 为什么使用Ajax框架?

1).简化JavaScript的开发难度

过去JavaScript的往往用于实现一些小玩意、

弹出警告信息、动态文字等。而JavaScript被赋予的操作文档对象模型(DOM)与测控CSS的强大能力被忽视了。

2).解决浏览器的兼容性问题

即使能轻松使用JavaScript,但一旦遇到各式浏览器也会头痛。不同浏览器对JavaScript的支持并不一致,同一浏览器的版本不同的支持也不一样

3).简化开发流程

之前开发客户端与服务器异步交互程序一定能体会到在开发过程中相当繁琐,必须检查处理状态、指定服务器处理程序和设置回调函数等细节

25、 常用的Ajax框架有哪些?

1).Prototype

是一個純粹的JavaScript函數庫,對Ajax提供了良好的支持

2).jQuery

另一個非常優秀的JavaScript庫,對Ajax提供良好的支持,與Prototype設計思想不同的是在使用JQuery之後,開發者提供了不再是DOM對象而是JQuery對象。

3).DWR

非常专业的Java Ajax框架,通过DWR框架,可以将Java类中的方法直接暴露给客户端

4).Dojo

功能强大,包含许多内容,AJax只是其中之一,特点在于控件和控件系统

5).AjaxTags

由一系列JSP标签组成,将常用的Ajax应用场景封装为简单的标签。

26、 什么是jQuery 

jQuery也就是JavaScript和Query(查询),即是辅助JavaScript开发的库。

jQuery优势

1).轻量级

2).强大的选择器

3).出色的DOM操作封装

4).可靠的事件处理机制

5).出色的浏览器兼容性

6).完善的Ajax支持

7).出色的浏览器兼容性等

8).jQuery理念:写的少,做的多

27、 你为什么要使用jQuery?

答:因为jQuery是轻量级的框架,大小不到30kb,它有强大的选择器,出色的DOM操作的封装,有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠),完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。) 出色的浏览器的兼容性。 而且支持链式操作,隐式迭代。行为层和结构层的分离,还支持丰富的插件,jQuery的文档也非常的丰富。

28、 你在公司是怎么用jQuery的?

答:在项目中是怎么用的是看看你有没有项目经验(根据自己的实际情况来回答)

你用过的选择器啊,复选框啊,表单啊,ajax啊,事件等

配置JQuery环境的步骤

1)下载jQuery类库,在jsp页面引用jQuery类库即可

<script type="text/javascript" src="jQuery/jQuery-1.7.2.min.js"/>

2)jQuery的调用示例:

<script>

//创建一个页面默认启动调用的特效

$(document).ready(

function(){

alert("页面启动时调用该方法!");

}

);

//以上代码也可以写成如下的简写方式

$(function(){

alert("页面启动时调用该方法!");

});

</script>

29、 jQuery 能做什么?

答:1. 获取页面的元素

2. 修改页面的外观

3. 改变页面大的内容

4. 响应用户的页面操作

5. 为页面添加动态效果

6. 无需刷新页面,即可以从服务器获取信息

7. 简化常见的javascript任务

30、 $(document).ready()方法和window.onload有什么区别?

答: 两个方法有相似的功能,但是在执行时机方面是有区别的。

1) window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。

2) $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。

JavaScript和Ajax部分(3)的更多相关文章

  1. 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)

    其他网站开发相关资料            超强HTML和xhtml,CSS精品学习资料下载汇总                                               最新htm ...

  2. 初识JavaScript,Ajax,jQuery,并比较三者关系

    一.基本认识 1.JavaScript 定义: javaScript的简写形式就是JS,是由Netscape公司开发的一种脚本语言,一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态 ...

  3. JavaScript实现Ajax小结

    置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<TCP的三次握手和四次挥手> 作者主页:myvin 博主QQ:851399101(点击QQ和博主发起临 ...

  4. 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求

    转http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 ...

  5. javascript版Ajax请求

    什么是Ajax请求,Ajax也就是“Asynchronous JavaScript and XML”(异步JavaScript和XML),无刷新数据读取.能减少流量的消耗,也提高了浏览的流畅性,给用户 ...

  6. Javascript与Ajax

    不使用jquery来处理ajax请求该怎么做? 首先要明确html中的某些数据需要从服务端获得,也就是客户端向服务端请求(request)数据,服务端就响应(response)这个请求,把客户端要的数 ...

  7. javascript进阶——Ajax

    统的Web 页面和应用中,用户每点击页面上的某个部分,浏览器就会向服务器发出一个请求,等待服务器做出响应,然后返回一个完整新网页,但在大多数情况下用户不得不忍受页面闪烁和长时间的等待.随着Web技术的 ...

  8. Javascript and AJAX with Yii(在yii 中使用 javascript 和ajax)

    英文原文:http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii /*** http://www.yiiframework. ...

  9. javascript实现ajax

    什么是 ajax ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. http 请求 首先需要了解 htt ...

  10. JavaScript和ajax 跨域的案例

    今天突然想看下JavaScript和ajax 跨域问题,然后百度看了一下,写一个demo出来 <!DOCTYPE html> <html xmlns="http://www ...

随机推荐

  1. JavaScript中的Undefined / Null 类型相关说明

    1,综述: ※Undefined 和 Null是JavaScript中的两种数据类型(其他的类型还有:Boolean, String, Number, Object). ※Undefined类型只有一 ...

  2. TCP的三次握手 与 四次挥手

    TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行 主要步骤: 服务器一定处于Listen状态,否则客户端发过来的连接会被拒绝.注:服务器和客户端的角色是相对的 ...

  3. PowerShell工作流学习-7-编写脚本工作流帮助

    关键点: a)工作流中不支持基于注释的帮助(标识工作流的帮助文件的 .ExternalHelp 注释除外). b)支持get-help参数的方式:使用 .ExternalHelp 注释以便 Get-H ...

  4. 效果监控js源码

    function _bxmPlatformFn(e, t) { var n, o, i = ""; try { i = localStorage.getItem("lis ...

  5. python视频地址和链接

    算法 链接:http://pan.baidu.com/s/1nvHmcZJ 密码:fwjg常用库 链接:http://pan.baidu.com/s/1o8uPvPg 密码:yp3w进阶-高级代码 链 ...

  6. 兆芯 服务器 win2012/win7装机总结

    兆芯cpu 服务器 win2012/win7装机总结 一.设置U盘启动装机 启动后,esc进入bios修改下图两个地方,都要改,然后保存. 二.重启计算机,进入win安装界面,会出现无法安装,原因是: ...

  7. django2+python3+uwsgi+centos7部署网站

    Centos7中安装Python虚拟环境 2018年08月27日 00:09:36 kaichenkai 阅读数:984 1.为什么要搭建虚拟环境? 问题:如果在一台电脑上, 想开发多个不同的项目, ...

  8. 获取resource下文件

    Resource resource = new ClassPathResource(certPath);File file= resource.getFile();

  9. Linux下MySQL数据库的安装

    记录详细过程以备使用 1.创建群组及用户 obd:~ # groupadd mysql obd:~ # useradd -g mysql mysql 2.创建相关目录 obd:~ # mkdir -p ...

  10. [转]Ubuntu Precise - Install youtube-dl package using Quantal repo

    Ubuntu Precise - Install youtube-dl package using Quantal repo Ubuntu Precise 12.04 currently contai ...