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 28 Javascript
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
探讨javascript是不是面向对象的语言
Nov 21 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
基于JavaScript实现评论框展开和隐藏功能
Aug 25 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
Mar 05 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
vue增加强缓存和版本号的实现方法
May 01 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 Javascript
JavaScript实现左右滚动电影画布
Feb 06 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实现蜘蛛访问日志统计
2013/07/05 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
在JavaScript中使用JSON数据
2016/02/15 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
js中的面向对象入门
2017/03/06 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python实现括号匹配的思路详解
2018/08/23 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
Django实现文件上传和下载功能
2019/10/06 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
运动会广播稿50字
2014/01/26 职场文书
公司会计岗位职责
2014/02/13 职场文书
委托公证书
2014/04/08 职场文书
免职证明样本
2014/10/23 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python