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 相关文章推荐
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
js 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
jQuery EasyUI Dialog拖不下来如何解决
Sep 28 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
利用Angularjs中模块ui-route管理状态的方法
Dec 27 Javascript
Bootstrap Table 删除和批量删除
Sep 22 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
Jul 02 Javascript
Vue实现按钮旋转和移动位置的实例代码
Aug 09 Javascript
layui框架与SSM前后台交互的方法
Sep 12 Javascript
jQuery实现鼠标滑动切换图片
May 27 jQuery
vue 通过 Prop 向子组件传递数据的实现方法
Oct 30 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
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
php实现telnet功能示例
2014/04/08 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
python中关于日期时间处理的问答集锦
2013/03/08 Python
python实现定制交互式命令行的方法
2014/07/03 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
一张图带我们入门Python基础教程
2017/02/05 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
Python3列表List入门知识附实例
2020/02/09 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
介绍一下Python中webbrowser的用法
2013/05/07 面试题
大学生毕业求职简历的自我评价
2013/10/24 职场文书
表演方阵解说词
2014/02/08 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年秘书工作总结
2014/11/25 职场文书
幼师个人总结范文
2015/02/28 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫