JavaScript中的ajax功能的概念和示例详解
AJAX即“AsynchronousJavascriptAndXML”(异步JavaScript和XML)。
个人理解:ajax就是无刷新提交,然后得到返回内容。
对应的不使用ajax时的传统网页如果需要更新内容(或用php做处理时),必须重载整个网页页面。
示例:
html代码如下
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>Ajax示例</title>
<style>
#loginForm{
border-collapse:collapse;
}
#loginForm,#loginFormtd{
border:#5501pxsolid;
text-align:center;
}
</style>
</head>
<body>
<tableid="loginForm">
<tr>
<td>用户名:</td>
<td><inputtype="text"id="userName"/></td>
</tr>
<tr>
<td>密码:</td>
<td><inputtype="password"id="password"/></td>
</tr>
<tr>
<tdcolspan=2><inputid="submitBtn"type="submit"value="ajax提交"/></td>
</tr>
</table>
<scripttype="text/javascript"language="javascript">
document.getElementById('submitBtn').addEventListener('click',clickSubmit);
functionclickSubmit(){
makeRequest('./test.php');
}
varreq=false;
/**
*创建ajax请求
*url处理请求的php位置
*/
functionmakeRequest(url){
req=false;
//创建一个XMLHTPP实例
if(window.XMLHttpRequest){//ie9以上和w3c浏览器的对象
req=newXMLHttpRequest();
if(req.overrideMimeType){
//如果服务器的响应没有XMLmime-typeheader,某些Mozilla浏览器可能无法正常工作.
//为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header.
req.overrideMimeType('text/xml');
}
}elseif(window.ActiveXObject){//IE678专用
try{
req=newActiveXObject("Microsoft.XMLHTTP");
}catch(e){
alert('newwindow.ActiveXObject()failed!');
}
}
if(!req){
alert('Givingup:(CannotcreateanXMLHTTPinstance');
returnfalse;
}
//指定处理响应的JavaScript函数名.
req.onreadystatechange=alertContents;
//测试传递用户名和密码
varuser_name=document.getElementById('userName').value;
varuser_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请求的回调处理函数
*/
functionalertContents(){
if(req.readyState==4){
console.log(req.status);
if(req.status==200){
alert(req.response);
}else{
alert('Therewasaproblemwiththerequest.');
}
}
}
</script>
</body>
</html>
./test.php代码如下
<?php
header('content-type:text/html;charset=utf-8');
var_dump($_POST);//获取到post传递的数据
var_dump($_GET);
以上所述是小编给大家介绍的JavaScript中的ajax功能的概念和示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!