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 相关文章推荐
PHP abstract与interface之间的区别
Nov 11 Javascript
验证控件与Button的OnClientClick事件详细解析
Dec 04 Javascript
使用javascript获取页面名称
Dec 23 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
Dec 25 Javascript
jQuery获得字体颜色16位码的方法
Feb 20 Javascript
微信小程序 教程之引用
Oct 18 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
Nov 21 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
Vue 使用beforeEach实现登录状态检查功能
Oct 31 Javascript
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
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
PR值查询 | PageRank 查询
2006/12/20 PHP
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
phpinfo 系统查看参数函数代码
2009/06/05 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
node中的session的具体使用
2018/09/14 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
python整小时 整天时间戳获取算法示例
2019/02/20 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
研发工程师的岗位职责
2013/11/18 职场文书
运动会广播稿400字
2014/01/25 职场文书
党风廉政建设责任书
2014/04/14 职场文书
体育之星事迹材料
2014/05/11 职场文书
研修心得体会
2014/09/04 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书