Ajax的请求规范(二)
第一种方式:send()不带参数
function doAjax(url,fnSucc,fnFaild)
{
//1.创建Ajax对象
if (window.XMLHttpRequest) {//判断当前浏览器的是否包含XMLHttpRequest
var oAjax = new XMLHttpRequest();
//有此版本的Mozilla浏览器在处理服务器返回的包含XML mime-type头部信息内容时会出错。
//所以,为了确保返回内容是text/xml信息,需要包含下面的语句。
if(oAjax.overrideMimeType)
{
oAjax.overrideMimeType("text/xml");
}
}
else //对于IE浏览器
{
//将IE的不同XMLHttp实现声明数组
var MSXML=new Array('Msxml2.XMLHTTP.7.0',
'Msxml2.XMLHTTP.6.0',
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP');
//依次对每个XMLHTTP实现创建XMLHttpRequest对象
for(var i=0; i<MSXML.length; i++)
{
try
{
var oAjax=new ActiveXObject(MSXML[i]);
break;
}
catch (ex) {
}
}
}
//2.连接服务器true指异步
oAjax.open("post",url,true);
//3.发送
oAjax.send();
//4.接收
oAjax.onreadystatechange=function (){
if(oAjax.readyState==4){//请求响应是否结束
if(oAjax.status==200){//请求是否成功
fnSucc(oAjax.responseText);//响应成文本形式接收
}
else
{
if(fnFaild){
fnFaild(oAjax.status);//响应失败的原因
}
}
}
}
}
第二种:Send()带请求信息
var xmlHttp;
function createXmlHttpRequest(){
if (window.XMLHttpRequest) { //Mozilla 浏览器
return new XMLHttpRequest();
}
else
if (window.ActiveXObject) { // IE浏览器
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
}
function ajax(options){
xmlHttp = createXmlHttpRequest();
var url = options.url+"?timeStemp="+new Date().getTime();//加new Date().getTime()的原因,可以清理缓存,每次请求都会刷新
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){//是否响应成功
if(xmlHttp.status==200){//http响应是否成功
options.Success(xmlHttp.responseText);//文本形式接收
}
}
};
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(options.data);//刷新
}
我们使用send()带参数提交时,必须设置setRequestHeader。这样send()提交就类似于form表单提交。
比如:
用send()不带参数提交时
http://index.jsp?name=wp-》A
用send("name=wp")带参数提交:
http://index.jsp-》B
A和B其实是等价的
这是send("name=jack&age=11")

这是send()

Java小生店铺:
Pc端:http://shop125970977.taobao.com/index.htm
手机端:搜索 java小生店铺
希望店铺的资料能帮助到你!!!

Ajax的请求规范(二)的更多相关文章
- VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求
开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器. 在NodeJs环境下,通过配置express可访问的 ...
- Ajax请求(二)--JQuery的Ajax请求方法
JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...
- 解决YII提交POST表单出现400错误,以及ajax post请求时出现400问题
POST表单400错误: 正确做法: Add this in the head section of your layout: <?= Html::csrfMetaTags() ?> -- ...
- jQuery基础---Ajax基础教程(二)
jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...
- ajax异步请求实例
1. 问题分析 用户管理显示页面:usermanagement.tpl(也可以说是MVC中的V,即视图) 用户管理数据发送页面:usermanagement.php(也可以说是MVC中的M,即模型) ...
- 原生ajax异步请求基础知识
一.同步交互与异步交互的概念: * 同步交互:客户端向服务器端发送请求,到服务器端进行响应,这个过程中,用户不能做任何其他事情(只能等待响应完才能继续其他请求). * 异步交互:客户端向服务器端发送请 ...
- Ajax - 发送请求原理
1,什么是ajax? Asynchronous JavaScript and XML(当然现在xml已经由json代替): 主要是用于前后台的交互(表单提交已经被废弃): 使用场景:前台获取数据.表单 ...
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析 一:问题demo展示 ...
- Ajax异步请求struts的JSON机制(省市区三级联动)
1.struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts P ...
随机推荐
- Linux压缩和解压命令
zip命令: 压缩 :zip -r files.zip fileFolder 解压:unzip files.zip tar命令: 压缩:tar -cvf files.tar fileFolder 解压 ...
- codeforces431C
k-Tree CodeForces - 431C Quite recently a creative student Lesha had a lecture on trees. After the l ...
- poj-2406(kmp水题)
题意:定义一个a*b=字符串a连接字符串b:给你一个字符串s,问你这个字符串最多能用多少个字符串t连接得到:例如:aaaa=4个a构成: 解题思路:kmp水题,next数组除了查找字串以外最广泛的一种 ...
- Matplotlib学习---matplotlib的一些基本用法
Matplotlib有两种接口,一种是matlab风格接口,一种是面向对象接口.在这里,统一使用面向对象接口.因为面向对象接口可以适应更复杂的场景,在多图之间进行切换将变得非常容易. 首先导入matp ...
- python里如何获取当前日期前后N天或N月的日期
#!/usr/bin/python#_*_ coding:UTF-8_*_ import timeimport datetimeimport mathimport calendar ''' time. ...
- java使用Rome解析Rss的实例(转)
Rome简介 Rome是为RSS聚合而开发的开源包,它可以支持0.91.0.92.0.93.0.94.1.0.2.0,可以说rss的版本基本上都支持了. Rss简介 RSS是站点用来和其他站点之间共享 ...
- Linux查看实时网卡流量的几种方式
Linux查看实时网卡流量的几种方式 来源 https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查 ...
- Gulp 新手使用
Gulp 注意:gulp依赖于nodejs,在安装前要确保已经安装node环境,如为安装查看<windows系统下nodejs安装及环境配置>安装node环境. 1.全局安装 在命令行执行 ...
- MobaXterm之取消自动关闭连接 Network error :Connection timed out
连一会就出现连接重来的问题 配置如下.
- JumpServer 跳板机系统
Jumpserver项目为开源项目,截至到目前最新版本为4.0,4.0功能并不完整,无上传.下载功能,配置复杂.启动服务也较繁琐,推荐使用0.3.2版本,文档较全,安装简单文档链接https://gi ...