今天給大家呈現(xiàn)一個原始的Ajax請求過程,雖然jquery的ajax要比原始的寫法容易得多,我們還是應該了解原始的寫法,下面我分為html、js、php三個小文件來展示,數(shù)據(jù)庫自己寫。
首先是html:
復制代碼 代碼如下:
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>一次簡單的Ajax請求/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:
復制代碼 代碼如下:
/**
* 普通Ajax的完整訪問過程
*/
var xmlHttp
function showSelect()//登錄按鈕點擊后執(zhí)行這個方法
{
var userName=document.getElementById("userName").value;
var passWord=document.getElementById("passWord").value;
if (userName.length==0)//驗證輸入用戶名是否為空
{
document.getElementById("showInputError").innerHTML="用戶名不能為空";//提示用戶名不能為空
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="ajaxTest.php"http://設置要提交action到后臺的那個處理請求的文件名
url=url+"?userName="+userName+"passWord="+passWord//為這個路徑加上參數(shù)用戶名和密碼
url=url+"sid="+Math.random()//為這個路徑加上一個隨機數(shù)
xmlHttp.onreadystatechange=stateChanged//每當 readyState 改變時,就會觸發(fā) onreadystatechange 事件,readyState 屬性存有 XMLHttpRequest 的狀態(tài)信息
xmlHttp.open("GET",url,true)//定義請求的參數(shù)
xmlHttp.send(null)//發(fā)送請求
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")//
//0: 請求未初始化
//1: 服務器連接已建立
//2: 請求已接收
//3: 請求處理中
//4: 請求已完成,且響應已就緒
{ var a= xmlHttp.responseText;//把相應數(shù)據(jù)賦值給a
if(a=="yes"){
self.location='Main.php';//跳轉到Main.php
}else{
document.getElementById("showInputError").innerHTML="用戶名或密碼錯誤";//提示用戶名或密碼錯誤
}
}
}
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:
復制代碼 代碼如下:
?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中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求
- PHP處理Ajax請求與Ajax跨域問題
- php判斷是否為ajax請求的方法
- jQuery通過ajax請求php遍歷json數(shù)組到table中的代碼(推薦)
- Ajax請求PHP后臺接口返回信息的實例代碼
- PHP開發(fā)框架kohana中處理ajax請求的例子
- php檢查是否是ajax請求的方法
- 在php中判斷一個請求是ajax請求還是普通請求的方法
- 原生javascript的ajax請求及后臺PHP響應操作示例
- php下的原生ajax請求用法實例分析