js中报错 ajax不存在,AJAX

AJAX : Asynchronous JavaScript and XML   异步JavaScript和XML   (XML更多的是被JSON格式替代使用)

AJAX 只做一件事情:异步获取数据,更为重要的是还是JS对返回的数据进行操作。

异步获取数据极大地改善web与用户的数据交互(如下图左侧为传统web,右侧为借助AJAX实现数据交互)

814b6e53c26615d56e2e3af8a7204278.png  809d017b0f58f8bd652c68602e31e759.png

一. js中AJAX的原理及步骤

1. 创建AJAX对象;

2. 设置请求方式,请求地址,是否异步或同步请求;  (POST方式需要设置数据编码请求头信息)

3. 发送数据进行AJAX请求;

4. 根据服务器返回状态码进行处理;

1. 创建AJAX对象

var xhr = null; //创建一个AJAX对象

if(window.XMLHttpRequest){ //不能直接判断XMLHttpRequest,如果不存在会报错,判断一个对象的属性,如果不存在,也不会报错

xhr = new XMLHttpRequest(); //标准浏览器

}else{

xhr= new ActiveXObject(‘Microsoft.XMLHTTP‘); //兼容IE6

}

可以封装一个创建AJAX对象的函数

//第一种方式

functioncreateXhr(){var xhr = null;if(window.XMLHttpRequest){

xhr= newXMLHttpRequest();

}else{

xhr= new ActiveXObject(‘Microsoft.XMLHTTP‘);

}returnxhr;

}//第二种方式

functioncreateXhr(){var xhr = null;try{

xhr= newXMLHttpRequest();

}catch(e){

xhr= new ActiveXObject(‘Microsoft.XMLHTTP‘);

}returnxhr;

}

2. 设置请求方式,请求地址,是否异步或同步请求;

xhr.open( method, url, [async] ) ;

method: 请求方式,主要有GET和POST (POST方式需要设置数据编码请求头信息setRequestHeader(header,value) )

url: 请求地址;

async: 是否异步请求,默认为true,

3. 发送数据进行AJAX请求;

xhr.send(content);

GET方式与POST方式的区别

GET: 只能传输字符串数据, 数据名称和数据值用等号连接,放置在url?后面,并用&进行连接;

POST: 可以传输文本,二进制,字符串等数据,数据名称和数据值用等号连接,利用send()方法发送,并用&进行连接;

GET方式请求与发送

xhr.open("GET", "server.php?username=xiaopeng&age=9"); //get方式的数据放置在url?后面进行发送

xhr.send();

POST方式请求与发送

xhr.open(‘post‘,‘server.php‘); //默认异步方式,可以不写

xhr.setRequestHeader(‘content-type‘, ‘application/x-www-form-urlencoded‘); //POST方式需要申明发送的数据类型

xhr,send(‘username=xiaopeng&age=9‘); //传输的数据通过send()方法发送

4. 根据服务器返回状态码进行处理;

onreadystatechange :当Ajax对象的状态码发生改变时所触发的回调函数

status :http的响应状态码

statusText :http的响应状态文本

reponseText :服务器端返回的数据(字符串形式)

responseXML :服务器端返回的数据(xml形式)

status :http的响应状态码有

0:表示对象已建立,但未初始化

1:表示对象已初始化,但未发送

2:已调用send方法进行请求

3:正在接收数据(接收到一部分)

4:接收完成

xhr.onreadystatechange = function() { //当请求状态改变的时候,触发事件

if (xhr.readyState===4) { //AJAX工作状态为4时,表示请求完成

if (xhr.status===200) { //http状态码为200时,表示服务器工作成功

alert (xhr.responseText);

}else{

alert("发生错误:" +request.status);

}

}

}

小实例:注册时检测用户名是否存在

//JavaScript代码

//绑定失去焦点事件

var oUser = document.getElementById("username");

oUser.οnblur= function(){//获取用户名

var username =oUser.value;//生成URL

var url = ‘demo.php?username=‘ +username;//创建AJAX对象

var xhr =createXhr();//初始化对象

xhr.open(‘get‘,url);//设置回调函数,可以设置在send()之前

xhr.onreadystatechange = function(){//当状态码为4,响应状态码为200时

if (xhr.readyState ==4 && xhr.status == 200) {//判断服务器返回情况

if (xhr.responseText ==1 ) { //这里根据后台设置接口判断

document.getElementById("result").innerHTML = ‘该用户名已被占用‘;

}else{

document.getElementById("result").innerHTML = ‘该用户名可以使用‘;

}

};

}

//发送AJAX请求;

xhr.send();

}

//php代码

//查询用户名是否存在

//获取数据

$username = $_GET[‘username‘];//连接数据库

mysql_connect(‘localhost‘,‘root‘,‘1234‘);//选择数据库

mysql_select_db(‘db_201404‘);//设置字符编码

mysql_query(‘set names utf8‘);//查询语句

$sql = "select * from admin where username=‘$username‘";$result = mysql_query($sql);//受影响行数

$count = mysql_num_rows($result);//关闭数据库

mysql_close();if ($count>0) {echo 1; //表示存在

}else{echo 2; //表示不存在

}

实例效果:

e1bfcbf8e375db76b9660f3b1ad7c2e1.png

原文:http://www.cnblogs.com/Peng2014/p/4683403.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nylon尼龙的来历

nylon 尼龙 在1938年,美国杜邦(du pont)公司用工业原料试制出的一种合成纤维,老板让职员们取一个好记又适用于各种语言的名字,结果就取成了这个nylon。先是作为商标,后来作为产品属名。 乙烯vinyl和人造丝r…

iOS开发内购图文教程

2015年最全的内购图文教程,首先是填各种资料,最后是代码,废话不多说,直接上图 第一部分协议 第一步.png第二步.jpg第三步.jpg第四步.png第五步.png第六步.png第七步.jpg第八步.jpg第九步.jpg第十步.pngCNAPS CODE 查询地址https:/…

cisco服务器维修,面向终端的AMP控制台的思科维护的排除列表更改

简介本文档介绍添加到思科维护的例外项的更改。思科维护的例外项由思科创建和维护,以便在面向终端的高级恶意软件防护(AMP)连接器和防病毒、安全或其他软件之间提供更好的兼容性,这些例外项可以添加到应用的新版本。作者:思科工程师Caly Hess…

服务器怎么用光驱装系统教程,使用光驱重装系统详细教程

电脑系统在用了很长一段时间后总会出现卡顿或者其他的问题,这时很多小伙伴后就会选择进行系统的重装,系统的重装也是有多种方法的,比如使用U盘进行重装,或者使用光驱,而今天小编要给大家分享的就是使用光驱重装系统的详…

struts2 Eclipse 中集成strust2开发框架实例

下面通过建立一个小的实例具体来说明Eclipse 集成struts2,以下实例采用的为 struts2 版本为 struts2 2.2.3.1 为应用. 1. 下载struts2的开发包 第一步: 在浏览器中输入 http://apache.org 第二步:在apche的页面项目中选择struct 点击连接进入相关页面 第三步: 点击download选择…

电脑电池,笔记本电池校正,教您怎样校正笔记本电脑电池

只要留个心,就会发现身边的很多人都在使用着笔记本电脑,不过笔记本电脑使用久了,电池可能会出现虚电的情况,导致我们的笔记本的续航时间变短了,这时候需要我们手动对笔记本电池进行校准,为此,小…

手机网站——自适应

最近自己做的手机网管的页面,在手机上显示的时候,总是要手动进行页面缩放,这样子一来.采用Opera和 safari 等手机浏览器的时候,页面变形得很厉害,第一次用领导到的Iphone的时候.页面字变得太小,要缩放才可以.参考了3g.163 Yahoo ,Live 的页面后,发现CSS并无太大的区别.所以不是…

苹果手机语音备忘录在哪_苹果手机的备忘录竟然还有这么多隐藏功能?以前不知道真是可惜了!...

使用iPhone手机的用户,不知道有没有仔细研究过手机自带的备忘录功能,它不仅仅只有备忘的功能哦,还有很多隐藏的小技巧,今天带大家一起来一探究竟吧,一起玩转手机的备忘录功能吧!1.编辑排版在备忘录进行文本…

弹出框设置在页面居中

思路&#xff1a; 1.获取当前页面的高和宽、针对顶部和左侧的滑动距离。 2.将弹出框的位置设为绝对位置。 3.设置弹出框针对屏幕的左侧和顶部的距离。 代码&#xff1a; html &#xff1a; <div class"dialog"> ...... //模态框内容   </div> css: …

杂牌手柄模拟xboxone手柄_震了,Xbox One 精英手柄2代摸了一次就不舍得放下了

首发于机核网&#xff0c;作者xizongbu近日我有幸提前拿到了微软 Xbox One 的精英手柄2代&#xff0c;这款产品在 E3 2019 微软展前发布会上正式公开&#xff0c;相信不少追求操作极致体验的玩家早就望眼欲穿了。更多的定制空间&#xff0c;更细致入微的体验优化&#xff0c;Xb…

Microsoft Hololens开发上手(4)

磨刀不误砍柴功&#xff0c;我们总有一些小工程师&#xff0c;不了解全貌&#xff0c;不好好思考&#xff0c;上手就开始写代码&#xff0c;这种做法是非常不可取的。对于Hololens的开发也是一样。今天我们来重点看看Hololens里面的一些概念&#xff0c;比如Holograms, 坐标系,…

wo-27s管理员账户和密码_Mac管理员忘记密码怎么办?

在使用Mac电脑时&#xff0c;为了安全很多用户通常都会设置管理员密码。不过如果不小心忘记Mac管理员密码怎么办&#xff1f;幸运的是&#xff0c;有些方法可以重置Mac密码并重新获得访问权限。下面小编就教给大家几种重置用户密码的方法。未开启FileVault的用户方法一&#xf…

嵌入式linux调试技术

Android模拟器只能通过端口映射的方式使用kgdbserver调试程序。但开发板除了可以通过ip连接到kgdbserver外还可以通过串口进行连接。开发板同样也带了kgdbserver程序&#xff0c;可直接运行。 大多数开发人员认为kgdb是最好的内核调试工具。Kgdb除了提供类似的printk函数的日志…

电脑怎么彻底删除软件_电脑在使用的过程中如何彻底删除今日热点广告弹窗的方法...

电脑在使用的过程中如何彻底删除今日热点广告弹窗的方法在今日热点弹窗弹出来之后&#xff0c;我们在键盘上同时按下“CtrlAltDel”键&#xff0c;调出“任务管理器”&#xff0c;在任务管理器进程找到“今日热点”&#xff0c;我们右键点击“今日热点”选择“打开文件所在的位…

Spring基础学习笔记-Bean的基础知识

一、 Bean的定义&#xff0c;初始化&#xff0c;使用和销毁 二、ref指定依赖的三种模式 三、Bean的五种自动装配模式&#xff08;autowire&#xff09; 四、Bean依赖检查的4种模式:配合atuowire使用,dependency-check"" 五、集合的注入方式 六、管理Bean config.xml文…

不用电脑怎么设置苹果铃声_苹果手机怎么设置铃声?完整教程分享

很多人的苹果手机铃声设置的都是用原始默认的铃声&#xff0c;因为苹果手机不支持直接将音乐设置为铃声&#xff0c;而且大多数人不清楚苹果怎么换铃声。当然安卓系统就没有这个问题啦。但是苹果的默认铃声听久了也挺腻的&#xff0c;鉴于有不少粉丝在问苹果手机怎么设置铃声&a…

mysql优化之连接优化

Posted by Money Talks on 2012/02/23 | 第一篇 序章第二篇 连接优化第三篇 索引优化第四篇 查询优化第五篇 到实战中去 连接优化 连接优化主要指客户端连接数据库以及数据库为响应客户端的请求而打开数据表和索引的过程中涉及到的参数调整。原文可以参考这里或者这里。(原文链…

家用电脑配置_游戏搬砖必看教程,游戏工作室电脑如何配置

文章只针对新手对电脑硬件配置了解&#xff0c;大佬可直接关闭&#xff0c;电脑如何配置只代表个人观点!想游戏搬砖赚钱&#xff0c;资金方面也有这个能力的小伙伴可能对手机开那么几个号无法满足&#xff0c;那么今天要说的就是如何利用电脑多开&#xff0c;来达到利益最大化这…

基于MATLAB的Dijkstra算法实现及案例分析

摘要:为研究两地点之间距离&#xff08;或耗时&#xff09;最短路线规划&#xff0c;采用MATLAB编程的方法来实现&#xff0c;并利用Floyd算法记录距离&#xff08;或耗时&#xff09;最短路线。在不考虑各种影响因素的情况下&#xff0c;以随机小样本数据为例进行演示&#xf…

面试题19:二叉树镜像

递归方法非常简单&#xff1a; 1 void MirrorRecursively(BinaryTreeNode *pNode)2 {3 if((pNode NULL) || (pNode->m_pLeft NULL && pNode->m_pRight))4 return;5 6 BinaryTreeNode *pTemp pNode->m_pLeft;7 pNode->m_pLeft pNod…