html+js+php一次原始的Ajax请求示例

今天给大家呈现一个原始的Ajax请求过程,虽然jquery的ajax要比原始的写法容易得多,我们还是应该了解原始的写法,下面我分为html、js、php三个小文件来展示,数据库自己写。

首先是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()//登录按钮点击后执行这个方法

{

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”//设置要提交action到后台的那个处理请求的文件名

url=url+”?userName=”+userName+”&passWord=”+passWord//为这个路径加上参数用户名和密码

url=url+”&sid=”+Math.random()//为这个路径加上一个随机数

xmlHttp.onreadystatechange=stateChanged//每当 readyState 改变时,就会触发 onreadystatechange 事件,readyState 属性存有 XMLHttpRequest 的状态信息

xmlHttp.open(“GET”,url,true)//定义请求的参数

xmlHttp.send(null)//发送请求

}

function stateChanged()

{

if (xmlHttp.readyState==4 || xmlHttp.readyState==”complete”)//

//0: 请求未初始化

//1: 服务器连接已建立

//2: 请求已接收

//3: 请求处理中

//4: 请求已完成,且响应已就绪

{ var a= xmlHttp.responseText;//把相应数据赋值给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中如何判断一个网页请求是ajax请求还是普通请求
  • PHP处理Ajax请求与Ajax跨域问题
  • php判断是否为ajax请求的方法
  • jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
  • Ajax请求PHP后台接口返回信息的实例代码
  • PHP开发框架kohana中处理ajax请求的例子
  • php检查是否是ajax请求的方法
  • 在php中判断一个请求是ajax请求还是普通请求的方法
  • 原生javascript的ajax请求及后台PHP响应操作示例
  • php下的原生ajax请求用法实例分析
张贴在3