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 相关文章推荐
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
详解如何使用webpack+es6开发angular1.x
Aug 16 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
Dec 07 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
解决VUE双向绑定失效的问题
Oct 29 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
vue router返回到指定的路由的场景分析
Nov 10 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
php自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
Python中的推导式使用详解
2015/06/03 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python 批量将中文名转换为拼音
2021/02/07 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
行政工作个人的自我评价
2014/02/13 职场文书
致共产党员倡议书
2014/04/16 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
干部考察材料范文
2014/12/24 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python
Python3的进程和线程你了解吗
2022/03/16 Python