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

 更新时间:2014年04月06日 17:18:59   作者:  
虽然jquery的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);
?>

相关文章

  • 关于Ajax跨域问题及解决方案详析

    关于Ajax跨域问题及解决方案详析

    这篇文章主要给大家介绍了Ajax跨域问题以及解决方案的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Ajax具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 活到老学到老学习AJAX跨域(三)

    活到老学到老学习AJAX跨域(三)

    学习AJAX其实有个很重要的应用,就是为了执行另外几个站点的ASP,返回结果。通过本文给大家介绍ajax跨域相关知识,需要的朋友参考下
    2016-02-02
  • 关于ajax的使用方法_例题、ajax的数据处理

    关于ajax的使用方法_例题、ajax的数据处理

    下面小编就为大家带来一篇关于ajax的使用方法_例题、ajax的数据处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • ajax实现用户名校验的传统和jquery的$.post方式(实例讲解)

    ajax实现用户名校验的传统和jquery的$.post方式(实例讲解)

    下面小编就为大家分享一篇ajax实现用户名校验的传统和jquery的$.post方式的实例讲解,具有很好的参考价值,希望对大家有所帮助
    2017-12-12
  • ajax数据返回进行遍历的实例讲解

    ajax数据返回进行遍历的实例讲解

    今天小编就为大家分享一篇ajax数据返回进行遍历的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Ajax的使用四大步骤

    Ajax的使用四大步骤

    ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页。接下来通过本文给大家介绍Ajax的使用四大步骤,非常不错,感兴趣的朋友看下吧
    2016-07-07
  • Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法

    Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法

    最近做项目遇到这样的需求:管理后台需要随时下载数据报表,数据要实时生成后转换为excel下载。怎么解决这个问题呢?下面小编给大家分享Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法,一起看看吧
    2017-09-09
  • AJAX 客户端响应速度提高分析

    AJAX 客户端响应速度提高分析

    AJAX的出现极大的改变了Web应用客户端的操作模式,它使的用户可以在全心工作时不必频繁的忍受那令人厌恶的页面刷新。
    2009-09-09
  • 在Ajax中使用get和post所遇到的问题及解决办法

    在Ajax中使用get和post所遇到的问题及解决办法

    本文重点给大家介绍在ajax中使用get和post所遇到的问题及解决办法,及get请求和post请求的区别简单介绍,本文介绍的非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • Ajax 生成流文件下载(实现代码)

    Ajax 生成流文件下载(实现代码)

    使用Ajax生成流文件下载的功能,可以使用隐藏form的方式。需要的朋友可以参考下
    2013-07-07

最新评论