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 相关文章推荐
彪哥1.1(智能表格)提供下载
Sep 07 Javascript
Javascript的匿名函数小结
Dec 31 Javascript
js 未结束的字符串常量错误解决方法
Jun 13 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
javascript实现简单的全选和反选功能
Jan 05 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 Javascript
bootstrap组件之导航组件使用方法
Jan 19 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
JS获取动态添加元素的方法详解
Jul 31 Javascript
vue按需加载实例详解
Sep 06 Javascript
vue中如何自定义右键菜单详解
Dec 08 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
PHP实现分页的一个示例
2006/10/09 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
Vue 监听元素前后变化值实例
2020/07/29 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python 3 判断2个字典相同
2019/08/06 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
会计自荐信范文
2014/03/09 职场文书
公证委托书大全
2014/04/04 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
离婚协议书的范本
2015/01/27 职场文书
保研推荐信格式
2015/03/25 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
Python OpenCV形态学运算示例详解
2022/04/07 Python
Python绘制散乱的点构成的图的方法
2022/04/21 Python
MySQL 原理与优化之Update 优化
2022/08/14 MySQL