原生Ajax发送请求
ajax get&post
1.使用get发送请求,会有请求缓存
1)什么叫请求缓存,请求信息相同浏览器不会再向服务器发送请求,导致访问服务器失败。
2)解决:将随机数添加到请求路径后面参数传递过去,Math.Random(),可以避免缓存的问题。
2.使用post发送请求,安全性高,解决乱码容易,速度次于get,传递方式post,传递参数在最后发送请求的时候传递
因为get是在地址栏里传递参数,安全性低,传递方式不同。
var v_data="name="+obj.value;
//传递多个参数 v_data="name="+obj.value+"&possword="+xxxxx
xmlHttpRequest.send(v_data);
//创建异步引擎对象,支持IE7以上,IE6以下new ActiveXObject('Microsoft.XMLHTTP');
function createXMlHttpRequest(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}
}
//回调
function callBack(){
if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
//responseText响应页面的内容
var date=xmlHttpRequest.responseText;
if(date==1){
document.getElementById("message").innerHTML='<font color="red">此账号不能用!</font>';
}else{
document.getElementById("message").innerHTML='<font color="green">账号可以用</font>';
}
}
}
readyState的状态属性值
0-未初始化,尚未调用open()方法;
1-启动,调用了open()方法,未调用send()方法;
2-发送,已经调用了send()方法,未接收到响应;
3-接收,已经接收到部分响应数据;
4-完成,已经接收到全部响应数据;
Status http的状态属性值
200-请求正常响应
404没有资源
500内部错误
function checkName(obj){
//赋值引擎对象
xmlHttpRequest=createXMlHttpRequest();
//onreadystatechange用于指向回调方法的引用,clallBack()加了括号的是方法的调用
xmlHttpRequest.onreadystatechange=callBack;
//参数1:请求方式get&post,参数2:请求路径及传递的参数,请求参数,参数3:true异步提交,false:同步提交,默认值为true,false会阻塞线程
xmlHttpRequest.open("GET","CheckName.do?name="+obj.value,true);
//头文设置
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//使用异步引擎发送请求
xmlHttpRequest.send();
}
原生Ajax发送请求的更多相关文章
- Ajax - 发送请求原理
1,什么是ajax? Asynchronous JavaScript and XML(当然现在xml已经由json代替): 主要是用于前后台的交互(表单提交已经被废弃): 使用场景:前台获取数据.表单 ...
- 原生ajax的请求过程
原生ajax的请求过程 创建全平台兼容的XMLHttpRequest对象: function getXHR(){ var xhr = null; if(window.XMLHttpRequest) { ...
- ajax发送请求跨域 - uri java代理
问题:ajax发送请求出现cors跨域 解决办法:可以通过java代理的方式,后台发送请求 1.get请求 public void proxyGet(String url) { try { URL r ...
- Ajax发送请求等待时弹出模态框等待提示
主要的代码分为两块,一个是CSS定义模态框,另一个是在Ajax中弹出模态框. 查看菜鸟教程中的模态框教程demo,http://www.runoob.com/try/try.php?filename= ...
- ajax对象。同步与异步及ajax发送请求
ajax对象的属性.方法 属性 readyState: Ajax状态码 * 0:表示对象已建立,但未初始化,只是 new 成功获取了对象,但是未调用open方法 1:表示对象已初始化,但未发送,调用了 ...
- Django——Ajax发送请求验证用户名是否被注册
场景: 用户注册的时候,输入用户名之后,Ajax发送请求到后端,后端验证该用户名是否已经被注册,然后返回到注册页面提示用户. 1.模型: from django.db import models cl ...
- 原生Ajax发送get、post请求每一步
说明 发送Ajax的请求的核心对象是XMLHttpRequest,因此我们需要了解该对象的相关属性和方法 方法(图一) 属性(图二) 第一步:创建 XMLHttpRequest对象,下面都简写为 xh ...
- 原生ajax的请求函数
ajax:一种请求数据的方式,不需要刷新整个页面:ajax的技术核心是 XMLHttpRequest 对象:ajax 请求过程:创建 XMLHttpRequest 对象.连接服务器.发送请求.接收响应 ...
- ajax发送请求下载字节流形式的excel文件
背景 开发项目中导出功能,因为数据量有点大,所以导出可能需要时间有点长,所以想用ajax异步请求. 存在问题 利用传统的js和jquery提供的ajax相关获取响应的方式是无法实现excel文件下载的 ...
随机推荐
- 换晶振导致stm32串口数据飞码的解决办法
一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串 ...
- pat1094. The Largest Generation (25)
1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- java环境下wsimport编译Wsdl
使用命令提示符进行操作:首先CD至java jdk/bin目录下.先bin目录下执行以下命令即可: -----------------------------服务需求放置的位置------------ ...
- JAVA避免入坑必备
1.关于@Override Annocation 对于子类(包括并且特别是匿名类)中,重写父类的函数,一定要加上@Override.这会帮助你避免很多不必要的看起来让人恼怒的错误.比如,为什么子类重写 ...
- 黑客伦理(hacker ethic)--《黑客与画家》
使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制.任何事情都应该亲手尝试. Access to computers--and anything that might teach you ...
- Android 设置软键盘搜索键以及监听搜索键点击事件
如图所示,有时候为了布局美观,在搜索时没有搜索按钮,而是调用软件盘上的按钮.调用的实现只需要在XML在输入框中加入android:imeOptions="actionSearch" ...
- Java—数组和方法
数组 声明数组 数组类型[] 数组名;or 数据类型 数组名[]; 如:int[] scores; 分配空间 数组名 = new 数据类型[数组长度];如:scores = new int[5]; 以 ...
- C#设计模式--适配器模式(结构型模式)
一.适配器模式介绍: 适配器模式:将一个类的接口,转换成客户希望的另外一个接口.adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 例子分析(充电器充电): 模式中的角色: 安 ...
- java:xml解析
DOM.SAX.JDOM.DOM4J四种解析:https://www.cnblogs.com/longqingyang/p/5577937.html Java解析XML文件例子:https://blo ...
- shell脚本学习(3)文件判断
shell常用的文件判断运算符如下: -e 文件是否存在 -f 文件是否是普通文件(不是目录.设备文件.链接文件) -s 表示文件大小不为0 -d 表示文件是否是目录 -b 表示是块设备(光驱.软 ...