Ajax+PHP简单基础入门实例教程

首先我们来了解怎么在javascript中创建这个对象:

程序代码

var xmlHttp = new XMLHttpRequest();

这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象。但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法:

程序代码

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//针对较新的浏览器

} catch (err) {

try {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//针对较老的浏览器

} catch (err2) {

xmlHttp = false;

}

}

即使这样,我们也无法预料有些浏览器可能无法创建这个对象,所以在创建不成功的情况下,我们还要加上一句:

程序代码

if (!xmlHttp){

alert("无法创建 XMLHttpRequest 对象!");

}

结合起来就是:

程序代码

var xmlHttp = false;

try {

xmlHttp = new XMLHttpRequest();

} catch (trymicrosoft) {

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlHttp = false;

}

}

}

if (!xmlHttp){

alert("无法创建 XMLHttpRequest 对象!");

}

然后,让我们建立一个函数getInfo(),打开异步请求:

程序代码

function getInfo() {

var num = document.getElementById("num").value;//获得表单的数据

var url = "/ajax/1.php?n=" + escape(num);

xmlHttp.open("GET", url, true);//这里的true代表是异步请求

}

一旦用 open() 配置好之后,就可以发送请求了。虽然可以使用 send() 发送数据,但也能通过 URL 本身发送数据。事实上,在大部分GET 请求中,用 URL 发送数据要容易得多,所以这里用null作为send()的参数就可以了。url地址里面的php文件是被请求来处理所需要数据的php文件,就像我们平时用PHP的时候一样,后面的参数可以加多个,并用&分隔开来。

xmlHttp.send(null);

在发送了数据之后,我们需要用回调方法来获得服务器的状态,所以就用到了onreadystatechange 属性。

xmlHttp.onreadystatechange = updatePage;

此语句已经要放在send()语句前面,这样才会有效,后面的updatePage是处理返回信息的一个函数。完整的getInfo()如下:

程序代码

function getInfo() {

var num = document.getElementById("num").value;//获得表单的数据

var url = "/ajax/1.php?n=" + escape(num);

xmlHttp.open("GET", url, true);//这里的true代表是异步请求

xmlHttp.onreadystatechange = updatePage;

xmlHttp.send(null);

}

我们还需要在html里面来触发这个函数:

程序代码

<input name="num" id="num" onblur="getInfo()" type="text" />

下面我们需要来编写updatePage()这个函数:

程序代码

function updatePage(){

if (xmlhttp.readyState == 4) {

var response = xmlhttp.responseText;

document.getElementById("city").value = response;

}

}

上面这段代码里面的readyState是服务器返回的一个状态,4这个状态表示请求已经发送,并处理完毕。responseText是获得服务器返回的信息,然后通过javascript赋给ID为city的表单。

到此,一个简单的Ajax程序就完成了,完整的javascript代码如下:

程序代码

var xmlHttp = false;

try {

xmlHttp = new XMLHttpRequest();

} catch (trymicrosoft) {

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlHttp = false;

}

}

}

if (!xmlHttp){

alert("无法创建 XMLHttpRequest 对象!");

}

function getInfo() {

var num = document.getElementById("num").value;//获得表单的数据

var url = "/ajax/1.php?n=" + escape(num);

xmlHttp.open("GET", url, true);//这里的true代表是异步请求

xmlHttp.onreadystatechange = updatePage;

xmlHttp.send(null);

}

function updatePage(){

if (xmlhttp.readyState == 4) {

var response = xmlhttp.responseText;

document.getElementById("city").value = response;

}

}

这里还缺一个php文件,由于处理的方式不一样,写法也不一样,而且这不是Ajax的主要部分,所以这里就不放代码了。只要记住php是输出并返回所需要的数据就可以了。

这教程,对初学者挺适合.

时间: 2024-12-30 14:08:07

Ajax+PHP简单基础入门实例教程的相关文章

Ajax+PHP简单基础入门实例教程_AJAX相关

首先我们来了解怎么在javascript中创建这个对象: 程序代码 var xmlHttp = new XMLHttpRequest(); 这行简单的代码在 Mozilla.Firefox.Safari.Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象.但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法: 程序代码 t

python基础入门实例教程(1/3)

 代码如下 复制代码 [hello world] 1 创建hello.py 2 编写程序: if __name__ == '__main__':     print "hello world"3 运行程序: python ./hello.py   [注释] 1 无论是行注释还是段注释,均以#加一个空格来注释. 2 如果需要在代码中使用中文注释,必须在python文件的最前面加上如下注释说明: # -* - coding: UTF-8 -* - 3 如下注释用于指定解释器 #! /usr

ThinkPHP快速入门实例教程之数据分页_php实例

数据分页可能是web编程里最常用到的功能之一.ThinkPHP实现分页功能十分简洁.只需要定义几个参数就可以实现.并且扩展也十分方便. 下面让我们从零开始实现ThinkPHP的分页程序吧. 1.首先,我们得创建一个用于分页测试的数据库 test.sql代码如下. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(100) NOT NULL, `content` varchar(300)

用原生JS对AJAX做简单封装的实例代码_javascript技巧

首先,我们需要xhr对象.这对我们来说不难,封装成一个函数. var createAjax = function() { var xhr = null; try { //IE系列浏览器 xhr = new ActiveXObject("microsoft.xmlhttp"); } catch (e1) { try { //非IE浏览器 xhr = new XMLHttpRequest(); } catch (e2) { window.alert("您的浏览器不支持ajax,请

flash 加载xml入门实例教程

flash 加载xml入门实例教程 在这篇文章中我们将使用一个xml文件,该文件描述了一个照相馆.的xml存储照片的标题和图像文件的位置 <?xml version="1.0"?> <gallery name="photo gallery"> <image name="picture_1" location="www.111cn.net/photo1.jpg" /> <image na

Vue.js快速入门实例教程_javascript技巧

什么是vue vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API. 一.基本结构 index.html代码: <script src="../vue.js"></script> <div id="app"> {{ message }} </div> <script src="app.js"></script> <

JavaScript Switch 入门实例教程

JavaScript Switch 入门实例教程 有条件的声明在JavaScript被用来执行不同的行动,根据不同的条件. 范例switch语句 如何撰写switch语句. <html> <body> <script type="text/javascript"> var d = new Date(); theDay=d.getDay(); switch (theDay) { case 5:   document.write("<b&

【jQuery教程】jquery新手入门实例教程三ajax应用

我们在上一章 jquery新手入门实例教学二 用户注册(简单的表单验证) (/html/JQueryjiaocheng/200807/17-519.html) 里面有一行语句 $.get("php/user_register.php",{act:$(this).attr("ID"),v:$(this).val()},function(txt){                    msg.html(txt); }) 这个就是jquery ajax应用的简单实例 什

Illustrator简单绘制热气球实例教程分享

给各位Illustrator软件的使用者们来详细的解析分享一下简单绘制热气球的实例教程. 教程分享: 1.首先,使用工具箱中的"矩形工具"画一个矩形,并以天蓝色到白色的渐变色填充矩形,注意不要使用描边色,结果如图1所示.   图1 2.使用"椭圆工具"画一个圆形,并以紫色到白色的渐变色填充,描边色设置为无,然后使用"直接选择工具"拖动圆形下方的锚点,修改圆形的形状,直到得到如图2所示的气球外形.   图2 3.复制并粘贴气球形状,并改变其大小,然