今天給大家呈現(xiàn)一個(gè)原始的Ajax請(qǐng)求過程,雖然jquery的ajax要比原始的寫法容易得多,我們還是應(yīng)該了解原始的寫法,下面我分為html、js、php三個(gè)小文件來展示,數(shù)據(jù)庫自己寫。
首先是html:
復(fù)制代碼 代碼如下:
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>一次簡單的Ajax請(qǐng)求/title>
script language="javascript" src="js/ajaxTest.js">/script>
/head>
body>
用戶名:input id="userName" type="text">/input>
密碼:input id="passWord" type="password">/input>
span id="showInputError" style="color:red;font-weight: bold;">/span>br>
input type="button" value="登錄" onclick="showSelect()">
/body>
/html>
然后是js:
復(fù)制代碼 代碼如下:
/**
* 普通Ajax的完整訪問過程
*/
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;
}
最后是php:
復(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);
?>
您可能感興趣的文章:- php中如何判斷一個(gè)網(wǎng)頁請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求
- PHP處理Ajax請(qǐng)求與Ajax跨域問題
- php判斷是否為ajax請(qǐng)求的方法
- jQuery通過ajax請(qǐng)求php遍歷json數(shù)組到table中的代碼(推薦)
- Ajax請(qǐng)求PHP后臺(tái)接口返回信息的實(shí)例代碼
- PHP開發(fā)框架kohana中處理ajax請(qǐng)求的例子
- php檢查是否是ajax請(qǐng)求的方法
- 在php中判斷一個(gè)請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求的方法
- 原生javascript的ajax請(qǐng)求及后臺(tái)PHP響應(yīng)操作示例
- php下的原生ajax請(qǐng)求用法實(shí)例分析