今天給大家呈現(xiàn)一個(gè)原始的Ajax請(qǐng)求過(guò)程,雖然jquery的ajax要比原始的寫(xiě)法容易得多,我們還是應(yīng)該了解原始的寫(xiě)法,下面我分為html、js、php三個(gè)小文件來(lái)展示,數(shù)據(jù)庫(kù)自己寫(xiě)。
首先是html:
復(fù)制代碼 代碼如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一次簡(jiǎn)單的Ajax請(qǐng)求</title>
<script language="javascript" src="js/ajaxTest.js"></script>
</head>
<body>
用戶名:<input type="text"></input>
密碼:<input type="password"></input>
<span></span><br>
<input type="button" value="登錄">
</body>
</html>
復(fù)制代碼 代碼如下:
/**
* 普通Ajax的完整訪問(wèn)過(guò)程
*/
var xmlHttp
function showSelect()//登錄按鈕點(diǎn)擊后執(zhí)行這個(gè)方法
{
var userName=document.getElementById("userName").value;
var passWord=document.getElementById("passWord").value;
if (userName.length==0)//驗(yàn)證輸入用戶名是否為空
{
document.getElementById("showInputError").innerHTML="用戶名不能為空";//提示用戶名不能為空
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="ajaxTest.php"http://設(shè)置要提交action到后臺(tái)的那個(gè)處理請(qǐng)求的文件名
url=url+"?userName="+userName+"&passWord="+passWord//為這個(gè)路徑加上參數(shù)用戶名和密碼
url=url+"&sid="+Math.random()//為這個(gè)路徑加上一個(gè)隨機(jī)數(shù)
xmlHttp.onreadystatechange=stateChanged//每當(dāng) readyState 改變時(shí),就會(huì)觸發(fā) onreadystatechange 事件,readyState 屬性存有 XMLHttpRequest 的狀態(tài)信息
xmlHttp.open("GET",url,true)//定義請(qǐng)求的參數(shù)
xmlHttp.send(null)//發(fā)送請(qǐng)求
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")//
//0: 請(qǐng)求未初始化
//1: 服務(wù)器連接已建立
//2: 請(qǐng)求已接收
//3: 請(qǐng)求處理中
//4: 請(qǐng)求已完成,且響應(yīng)已就緒
{ var a= xmlHttp.responseText;//把相應(yīng)數(shù)據(jù)賦值給a
if(a=="yes"){
self.location='Main.php';//跳轉(zhuǎn)到Main.php
}else{
document.getElementById("showInputError").innerHTML="用戶名或密碼錯(cuò)誤";//提示用戶名或密碼錯(cuò)誤
}
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
復(fù)制代碼 代碼如下:
<?php
$userName=$_GET["userName"];
$pwd=$_GET["passWord"];
$con = mysql_connect("localhost","root","123456");
mysql_select_db("my_test", $con);
mysql_query("set names utf8");
$sql="SELECT * FROM Userinfo WHERE userName='".$userName."' AND pwd='".$pwd."'";
$result=mysql_query($sql);
$select=mysql_num_rows($result);
$a="no";
if ($select>0){$a="yes";}
echo $a;
mysql_close($con);
?>
新聞熱點(diǎn)
疑難解答
圖片精選