JS方法:var xmlhttp;//一定注意是写在外面的全局变量,我调了一个上午才发现。functionverify(){//使用dom方式获取文本框中的值var userName=document.getElementById("userName").value;//以下5个步骤即完成ajax应用的5个关键步骤//1. 创建XMLHttpRequest对象(最关键&复杂的一步)//需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同代码if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();//针对mozillar,firefox,opera,safari,ie7,ie8//针对某些特定版本的mozillar浏览器的bug(主要是调用回调函数时会有问题)进行修正(这一步是保证脚本的健壮性)if(xmlhttp.overrideMimeType){xmlhttp.overrideMimeType("text/xml");}}else if(window.ActionXObject){//(老师语)为什么这个放在第二个if语句里呢?//(1)针对的对象范围太窄//(2)自身的缺陷或者说原理已被一些人摸透了,有人利用ActionXObject干了不少坏事(?)所以会被一些有经验的用户直接禁掉//针对ie6,ie5.5,ie5//两个可以创建XMLHttpRequest对象的控件名称,保存在一个js数组中,排在前面的较新varactivexName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(var i=0; i<activexName.length; i++){try{xmlhttp=newActionXObject(activexName[i]);break;}catch(e){}}}//确认XMLHttpRequest对象创建成功(保证脚本的完整性,指开发的时候)if(!xmlhttp){alert("XMLHttpRequest对象创建视频!!");return;}else{alert(xmlhttp);}//2. 注册回调函数//只用函数名,不加括号,是因为该句只是把回调函数名注册给xmlhttp.onreadystatechange//如果加了括号,则是调用函数,然后把该函数的返回值注册了。//xmlhttp状态每次改变都会重新调用callback方法xmlhttp.onreadystatechange=callback;//3. 利用open方法设置与服务器的连接信息xmlhttp.open("GET","AjaxServer?name="+userName,true);//Post方法请自行google百度//还可以用Post方法进行传送,//xmlhttp.open(“POST”,”AjaxServer”,true)//xmlhttp.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”)//4. 发送数据,开始和服务端进行交互//之所以send(null)是因为第3步中,数据信息都在url里了,如果是Post方法,send(具体数据)//如xmlhttp.send(“name”+userName);//第3步中最后一个参数如果false,则运行到该句中止,一直等到数据返回;为true则代码继续运行xmlhttp.send(null);}functioncallback(){//5. 接收响应数据(在回调函数中针对不同响应状态进行处理)//判断对象的状态是交互完成的if(xmlhttp.readyState==4){//0=未初始化,对象以创建,未调用open//1=open方法调用成功,send方法未调用//2=send方法已调用,未开始接收数据//3=正在接收数据,HTTP响应头信息已经接收,数据尚未接收完成//4=完成//判断http的交互是否成功if(xmlhttp.status==200){//关于xmlhttp.status请自行google百度//获取服务器端返回数据varresponseText=xmlhttp.responseText; //纯文本方式,关于其他方式请自行google百度//将数据显示在页面上//(1)通过Dom方式找到div标签对应的元素节点vardivNode=document.getElementById("result");//(2)设置元素节点中的html内容divfNode.innerHTML=responseText;}else{//出错信息}
}}//这里有一个问题 就是 xmlhttp.open("GET","AjaxServer?name="+userName,true); 中的 AjaxServer 对于IE来说//有些问题,交不到 想要的Servlet中去时,可以在后面加 ?type=nihao 什么的//例:xmlhttp.open("GET","/myBoKe/PingLunController",true); 这个不能到PingLunController.java中,调到了主要的servlet中去了。 可能是我用了Iframe标签的 应该注意一下//xmlhttp.open("GET","/myBoKe/PingLunController?type=in hao",true); 这样就可以了,很奇怪的

转载于:https://www.cnblogs.com/shaoshao/p/3396122.html

javascript-XMLHttpRequest相关推荐

  1. [Javascript]XMLHttpRequest对象实现下载进度条

    摘要 可以通过设置一个XMLHttpRequest对象的responseType属性来改变一个从服务器上返回的响应的数据类型.可用的属性值为空字符串 (默认), "arraybuffer&q ...

  2. JavaScript XMLHttpRequest向Flask发送和接收请求

    1,HTML中使用JS向Flask接口发POST请求,Flask返回text 2,JS接收响应,将内容显示在HTML中. HMTL代码: <!DOCTYPE html> <html ...

  3. 总结面试题——Javascript

    文章目录 1.闭包 2.作用域链 3.JavaScript的原型 原型链 有什么特点 4.事件代理 5.Javascript如何实现继承 6.this对象 7.事件模型 8.new操作符 9.ajax ...

  4. 深入浅出JavaScript(中文版)__莫里森 初读笔记

    创建变量,使用关键字var; 创建常量,使用关键字const; 大驼峰用于对象,小驼峰用于变量和函数. 在试图相加数字时意外做了字符串相连,是种常见的JavaScript错误.如果想做数字相加,请确定 ...

  5. SilverLight 一日两次碰壁

    SilverLight1.1 中,使用 SoaphttpClientProtocol 调用WS有个限制,就是Cross domain calls are not supported by Browse ...

  6. 关于在WebForm页面使用Ajax

    关于ajax我相信做B/S开发的程序员都不陌生,在做电子商务网站,还是其他的B/S架构的系统,ajax使用的都特别频繁.那么ajax是什么呢? AJAX:"Asynchronous Java ...

  7. MooTools教程(1):认识MooTools

    2019独角兽企业重金招聘Python工程师标准>>> 有人最近要求我们写一个关于MooTools 1.2的30天的教程,这似乎也是个很不错的主意,于是我们决定现在就开始.在这些教程 ...

  8. WebForm页面使用Ajax

    AJAX:"Asynchronous JavaScript and XML" 中文意思:异步JavaScript和XML.指一种创建交互式网页应用的网页开发技术.AJAX并非缩写词 ...

  9. Seam - 无缝集成 JSF,第 3 部分: 用于 JSF 的 Ajax

    Seam - 无缝集成 JSF,第 3 部分: 用于 JSF 的 Ajax 用 Seam Remoting 和 Ajax4jsf 无缝熔接客户机和服务器 文档选项 未显示需要 JavaScript 的 ...

  10. 【Python】【Flask】

    [快速开始] from flask import Flask, url_for, render_template, redirectapp = Flask(__name__) "" ...

最新文章

  1. TensorFlow反向传播算法实现
  2. 微服务测试之静态代码扫描
  3. linux求文件共有行。多个文件求共有行交集完全匹配-w
  4. linux nfs 读写性能,linux – Debian上的NFS性能问题
  5. django session, 分页,数据库学习
  6. 2021年的最后7天,和我的伙伴们合个影吧
  7. 8-5 Navicat工具与pymysql模块
  8. Python 列表推导式 - Python零基础入门教程
  9. MTK车载平台添加或更换开机启动LOGO
  10. 简单谈谈编程语言(二)
  11. 安全产品的部署方式及位置
  12. java指定小数点位数_Java指定保留小数位数的方法
  13. AD软件——把原理图库 和 PCB元件库封装模型 关联起来
  14. 东京商城注册页面使用的正则表达式......
  15. Unity FACEGOOD Audio2Face 通过音频驱动面部BlendShape
  16. 网页或APP抓包请求参数有什么意思,怎么更快的抓包获取这些请求
  17. spring中事务提交后再发MQ消息
  18. 《人类简史》作者:到2028年,美国总统竞选可能不再由人类主持
  19. HLW8112在电力监控系统中的应用
  20. 魔兽世界小游戏(基于C++)

热门文章

  1. 编译osdrv的uboot 内核 文件系统(Hi3516a)
  2. 0x00000000指令引用的内存不能为written_jvm的内存结构
  3. socket可以写成单例嘛_精读《设计模式 - Singleton 单例模式》
  4. java jdbc工具类抽取_JavaWeb入门(三):JDBC工具类的抽取
  5. html支持1080p,1080p完美支持
  6. arcgis里python窗口运行,在 Python 窗口中执行工具
  7. python 栈实现 加减乘除_数据结构与算法(六):基于栈实现简单的四则运算
  8. 山西对口升学计算机分数线,2020年山西对口升学本科一批录取分数线是多少
  9. 大数据精准投放平台_大数据库(可视化精准平台,能够使您的广告更加精准有效)...
  10. 谷歌浏览器实现按下按键的脚本_chrome浏览器控制台创建js脚本并执行