JavaScript中的ajax功能的概念和示例详解


Posted in Javascript onOctober 17, 2016

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML)。

个人理解:ajax就是无刷新提交,然后得到返回内容。

对应的不使用ajax时的传统网页如果需要更新内容(或用php做处理时),必须重载整个网页页面。

示例:

html代码如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax示例</title>
<style>
#loginForm {
border-collapse: collapse;
}
#loginForm,#loginForm td {
border:#550 1px solid;
text-align:center;
}
</style>
</head>
<body>
<table id="loginForm">
<tr>
<td>用户名:</td>
<td><input type="text" id="userName"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="password"/></td>
</tr>
<tr>
<td colspan=2><input id="submitBtn" type="submit" value="ajax提交"/></td>
</tr>
</table>
<script type="text/javascript" language="javascript">
document.getElementById('submitBtn').addEventListener('click', clickSubmit);
function clickSubmit() {
makeRequest('./test.php');
}
var req = false;
/**
* 创建ajax请求
* url 处理请求的php位置
*/
function makeRequest(url) {
req = false;
//创建一个XMLHTPP实例
if (window.XMLHttpRequest) { // ie9以上和w3c浏览器的对象
req = new XMLHttpRequest();
if (req.overrideMimeType) {
//如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作. 
//为了解决这个问题, 如果服务器响应的header不是text/xml,可以调用其它方法修改该header. 
req.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE678专用
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert('new window.ActiveXObject() failed!');
}
}
if (!req) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
//指定处理响应的JavaScript函数名. 
req.onreadystatechange = alertContents;
//测试传递 用户名和密码
var user_name = document.getElementById('userName').value;
var user_pwd = document.getElementById('password').value;
//open(请求方式,准确的本域域名,是否异步);
//GET或POST方式
//----GET方式请求------
//req.open('GET', url+'?user_name='+user_name+'&user_pwd='+user_pwd, true);
//req.send(null);
//----POST方式请求------
//发送请求 如果open是POST方式可以发送字符串给服务器,也可以在open的第二个参数同时加上get传输
////req.open('POST', url+'?get1='+user_name+'&get2='+user_pwd, true);
req.open('POST', url, true);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
req.send('user_name='+user_name+'&user_pwd='+user_pwd);
}
/**
* ajax请求的回调处理函数
*/
function alertContents() {
if (req.readyState == 4) {
console.log(req.status);
if (req.status == 200) {
alert(req.response);
} else {
alert('There was a problem with the request.');
}
}
}
</script>
</body>
</html>

./test.php代码如下

<?php
header('content-type:text/html;charset=utf-8');
var_dump($_POST);//获取到post传递的数据
var_dump($_GET);

以上所述是小编给大家介绍的JavaScript中的ajax功能的概念和示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript的一种模块模式
Mar 22 Javascript
javascript jQuery $.post $.ajax用法
Jul 09 Javascript
jquery购物车实时结算特效实现思路
Sep 23 Javascript
使用时间戳解决ie缓存的问题
Aug 20 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
Aug 09 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 Javascript
JQuery中解决重复动画的方法
Oct 17 #Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 #Javascript
原生JavaScript制作计算器
Oct 16 #Javascript
JavaScript 实现的checkbox经典实例分享
Oct 16 #Javascript
JavaScript正则表达式实例详解
Oct 16 #Javascript
js实现碰撞检测特效代码分享
Oct 16 #Javascript
js+css3制作时钟特效
Oct 16 #Javascript
You might like
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
详解vue中axios的封装
2018/07/18 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
python requests指定出口ip的例子
2019/07/25 Python
python进阶之自定义可迭代的类
2019/08/20 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
python实现简单飞行棋
2020/02/06 Python
Python列表解析操作实例总结
2020/02/26 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
出国签证在职证明
2014/01/16 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
仓库文员岗位职责
2014/04/06 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android