[Java教程]如果不用jQuery,Ajax你还能写出多少?

0 2014-03-19 19:00:23

许久之前发过一篇关于Ajax的博客,通篇讲的都是通过jQuery编写Ajax,可能因为jQuery在这方面做的实在太好,以至于突然发现不用jQuery的话自己都模糊了Ajax的写法,这里重温一下.

First - 我们明确在使用jQuery的Ajax忽略掉的问题,那就是Ajax的操作本身是操作一个

在不同浏览器中,以及IE的不同浏览器版本下都会有不一样的Function创建这个对象,或者方法不同或者参数不同.01function CreateXHR() {

02var xhrobj =false;

03try {

04xhrobj =new ActiveXObject("Ms);//ie ms

05}

06catch (e) {

07try {

08xhrobj =new ActiveXObject("Microsoft.);//ie ms

09}catch (e2) {

10xhrobj =false;

11}

12}

13if (!xhrobj &&typeof 'undefined') {//firefox opera 8.0 safari

14xhrobj =new

15}

16return xhrobj;

17}

为了最终创建出正确的XHR对象,不断用try-catch进行尝试.

Second - 有了XHR对象,接下来我们调用

我们这里是通过Javascript原生编写异步请求,但是其实并不复杂,只需要记住几个function就可以了.01//open,setRequestHeader,onreadystatechange,send

02

03var xhr = CreateXHR();

04

05//这里以POST方式发送,也可以是GET,参数不同即可.而且GET不需要设置setRequestHeader

06xhr.open("POST","demo.jsp",true);

07

08//设置HTTP的输出内容类型为:application/x-www-form-urlencoded

09xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

10

11//设置浏览器不使用缓存,服务器不从缓存中找,重新执行代码,而且服务器返回给浏览器的时候,告诉浏览器也不要保存缓存。

12xhr.setRequestHeader("If-Modified-Since","0");

13

14//设置回调函数

15xhr.onreadystatechange = callback;//callback是方法名

16

17//发送请求

18xhr.send(null);//GET方式

19xhr.send("isAjax=1&na=123");//POST方式

这里就完成了请求发送,也定义了请求的回调是callback函数,所以最后我们的请求的结果就是在callback函数中.

Third - 定义callback函数,Ajax的返回是有状态的,这里不同于jQuery的success,所以要自己判断状态码是否正确.view source

print?1//回调函数

2function callback() {

3if (xhr.readyState == 4) {

4if (xhr.status == 200) {

5var res = xhr.reponseText;//获得服务器返回的字符串

6console.log(res);

7}

8}

9}

这样就完成了通过原生Javascript发送Ajax请求.

本文网址:http://www.shaoqun.com/a/86279.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

jquery

0

java jquery用的多吗_[Java教程]如果不用jQuery,Ajax你还能写出多少?相关推荐

  1. java静态变量需要初始化吗_» Java静态变量初始化顺序浅谈

    Java 类初始化顺序在网上已经有很多文章了,这里不再谈那么多,仅仅谈下Java静态变量的初始化顺序,如果你是Java高手,并且自认为对这个顺序已经掌握到了炉火纯青的境界,请忽视这篇文章. 前天看了Y ...

  2. eclipse 翻译插件_这两个IDE插件,可以让你写出质量杠杠的代码

    昨晚躺在床上看<拯救大兵瑞恩>的时候,不由得感叹道:"斯皮尔伯格的电影质量真高,片头真实地还原了二战的残酷性."看完后,我的精神异常的亢奋,就想写篇文章来帮助大家提高一 ...

  3. python程序的书写特点_不一样的Python代码写法,让你写出一手漂亮的代码

    Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于刚开始学语言的小白同学来说,解决问题的思路有的时候会比较单一,其实 ...

  4. Java实现动态加载页面_[Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新)...

    [Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新) 0 2014-05-07 18:00:06 使用该控件,可以根据url,参数,加载html记录模板(包含 ...

  5. java如何设置文本框提示_[Java教程]一个友好的文本框内显示提示语 jquery 插件

    [Java教程]一个友好的文本框内显示提示语 jquery 插件 0 2014-08-08 18:01:25 插件实现文本框内默认显示提示语,当文本框获得焦点时提示语消失. 如果没有输入或输入为空则失 ...

  6. java jquery提交表单数据_[Java教程]jquery实现ajax提交表单信息

    [Java教程]jquery实现ajax提交表单信息 0 2016-08-23 15:00:08 最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交.本人没有完整性学习 ...

  7. Java对图片懒加载_[Java教程]JQuery实现图片懒加载_星空网

    JQuery实现图片懒加载 2018-08-16 0 懒加载的原因: 对于图片过多的场景,为了提高页面的加载速度,降低服务器的负载,增强用户体验,我们对还没出现在视野的图片先不加载,当元素出现在我们视 ...

  8. java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文

    [Java教程]java 网页页面抓取标题和正文 0 2014-07-10 09:01:30 import java.io.BufferedReader;import java.io.IOExcept ...

  9. Java点击按钮div缩放_[Java教程]怎样给div增加resize事件

    [Java教程]怎样给div增加resize事件 0 2016-10-31 11:00:04 当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件,这个事件在window上面触发,那么如 ...

  10. Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

最新文章

  1. intellij idea cpu占用率太大太满 运行速度太慢解决方案
  2. mysql学习之旅-数据库自动备份-测试环境搭建
  3. iOS APP上架被拒重新提交审核教程
  4. 解决Putty中左边 alt+b 不工作的问题
  5. MSN工具条不兼容IE7
  6. 2021-10-11 寻找二叉树结点的前驱或后继结点(用到parent指针)
  7. 有线同步--ASP007
  8. Git之常用命令的综合使用和示例分析
  9. PWA · 前后端协作 · Node | JTalk 掘金线下活动第七期
  10. 极限编程与敏捷开发(4)
  11. mysql 锁设置密码_[转载]mysql锁小结
  12. 软件工程学习进度第三周暨暑期学习进度之第三周汇总
  13. 刷python题库的网站_大神教你刷bios工具
  14. GPyTorch中的超参数
  15. Day20(lambda、stream、微服务、大数据、nginx)
  16. c(RGDyC),cyclo(Arg-Gly-Asp-D-Tyr-Cys),环状RGD多肽系列
  17. iOS开发常用设计模式
  18. 欧拉计划 P429 (数论)
  19. 【附源码】Python计算机毕业设计企业员工考勤管理系统
  20. Power BI(十三)Power pivot之工作日计算

热门文章

  1. 单向链表相关——链表中环的问题
  2. VirtualBox6.0安装及配置
  3. numpy中int类型与python中的int
  4. 【java基础 3】树形结构数据呈现的递归算法实现
  5. oracle 相关1
  6. Python如何提取docx中的超链接
  7. 知识蒸馏 | 综述: 知识的类型
  8. 【学术】让你的博士经历更加轻松愉快的10个tips
  9. 【Fudan DISC】一种无监督下利用多模态文档结构信息帮助图片-句子匹配的采样方法...
  10. 任务方案思考:文本分类篇