AJAX快速上手

创建XMLHttpRequest对象

xmlHttp = new XMLHttpRequest();

xmlHttp = new ActiveXObject(‘Microsoft.XMLHTTP‘);//IE

XMLHttpRequest对象相关方法

打开请求

XMLHttpRequest.open(传递方式,地址,是否异步请求)

准备就绪执行

XMLHttpRequest.onreadystatechange

获取执行结果

XMLHttpRequest.responseText

上手小实践

//文件名 index.php

<script type="text/javascript" src="ajax.js"></script>

<a href="#" onclick="funphp100(‘o‘)">o</a>

<a href="#" onclick="funphp100(‘t‘)">t</a>

<a href="#" onclick="funphp100(‘x‘)">x</a>

<div id="php100"></div>

//文件名 for.php

<?php

if(@$id=$_GET[‘id‘]){

for($i=1;$i<10;$i++){

echo $id;

}

exit();

}

?>

//文件名 ajax.js

var xmlHttp;

function S_xmlhttprequest(){

if(window.ActiveXObject){

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

}else if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

}

}

function funphp100(url){

S_xmlhttprequest();

xmlHttp.open("GET","for.php?id="+url,true);

xmlHttp.onreadystatechange=byphp;

xmlHttp.send(null);

}

function byphp(){

if (xmlHttp.readyState == 4){

var byphp100=xmlHttp.responseText;

document.getElementByIdx_x(‘php100‘).innerHTML=byphp100;

}

}

==========================================================

AJAX+PHP用户名验证

index.php

<script type="text/javascript" src="ajax.js"></script>

<form name="myform" action="" method="post" enctype="text/plain">

用户名:

<input type="text" name="user" value="" onblur="funphp100(‘php100‘)"/>

<div id="php100"></div>

</form>

for.php

<?php

if($_GET[id]){

sleep(1);

$conn=mysql_connect(‘localhost‘,‘root‘,‘‘);

mysql_select_db(‘test‘,$conn);

$sql="SELECT * FROM `user` where `name`=‘$_GET[id]‘";

$q=mysql_query($sql);

if(is_array(mysql_fetch_row($q))){

echo "<font color=red>用户名已经存在</font>";

}else

{

echo "<font color=green>可以使用</font>";

}

}

?>

ajax.js

var xmlHttp;

function S_xmlhttprequest() {

if(window.ActiveXObject) {

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

} else if(window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest();

}

}

function funphp100(name) {

var f=document.myform.user.value;

S_xmlhttprequest();

xmlHttp.open("GET","for.php?id="+f,true);

xmlHttp.onreadystatechange = byphp;

xmlHttp.send(null);

}

function byphp() {

if(xmlHttp.readyState == 1) {

document.getElementByIdx_x(‘php100‘).innerHTML = "<img src=‘loading.gif‘>";

}

if(xmlHttp.readyState == 4 ){

if(xmlHttp.status == 200) {

var byphp100 =  xmlHttp.responseText;

document.getElementByIdx_x(‘php100‘).innerHTML = byphp100;

}

}

}

=============================

Ajax+PHP打造等待进度条效果

方法XHR.readyState五种状态

XHR.readyState == 状态(0,1,2,3,4)

0:请求未初始化,还没有调用 open()。

1:请求已经建立,但是还没有发送,还没有调用 send()。

2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。

3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。

4:响应已完成;您可以获取并使用服务器的响应了。

方法XHR.status常见的几种状态

XHR.status == 200,300,404 等

100——客户必须继续发出请求

101——客户要求服务器根据请求转换HTTP协议版本

200——成功

201——提示知道新文件的URL

300——请求的资源可在多处得到

301——删除请求数据

404——没有发现文件、查询或URl

500——服务器产生内部错误

index.php

<script type="text/javascript" src="ajax.js"></script>

<a href="#" onclick="funphp100(‘o‘)">o</a>

<a href="#" onclick="funphp100(‘t‘)">t</a>

<a href="#" onclick="funphp100(‘x‘)">x</a>

<br>

<div id="php100"></div>

for.php

<?php

for($i=1;$i<=3;$i++){

echo $i."$id<br>";

sleep(1);

}

?>

上节源文件ajax.js的修改

var xmlHttp;

function S_xmlhttprequest() {

if(window.ActiveXObject) {

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

} else if(window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest();

}

}

function funphp100(url) {

S_xmlhttprequest();

xmlHttp.open("GET","for.php?id="+url,true);

xmlHttp.onreadystatechange = byphp;

xmlHttp.send(null);

}

function byphp() {

if(xmlHttp.readyState == 1) {

document.getElementByIdx_x(‘php100‘).innerHTML = "loading....";

}

if(xmlHttp.readyState == 4 ){

if(xmlHttp.status == 200) {

var byphp100 =  xmlHttp.responseText;

document.getElementByIdx_x(‘php100‘).innerHTML = byphp100;

}

}

}

AJAX快速上手,布布扣,bubuko.com

时间: 2024-10-13 19:14:07

AJAX快速上手的相关文章

从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.Ajax 概述

Extjs视频教程_快速上手Extjs4.2实战开发

Extjs视频教程_快速上手Extjs4.2实战开发快速上手Extjs4.2并熟练搭建基于MVC4+FluentData+Spring.net和T4模板的企业级项目架构适合人群:中级课程分类:.NET+ExtJs课时数量:76课时用到技术:Extjs4.2,MVC4,FluentData,T4,Spring.net涉及项目:基于Extjs4.2的丰富案例.一个独立的企业级架构和综合演示案例咨询qq:1840215592 Extjs视频教程课程大纲:(1)Extjs4.2理论部分(风舞烟老师老师主

轻量级MVVM框架Vue.js快速上手(MVVM、SEO单页面应用)

轻量级MVVM框架Vue.js快速上手(MVVM.SEO单页面应用.×××服务器端渲染.Nuxt.js) 网盘地址:https://pan.baidu.com/s/1LkhepNpGAtRjrxp_CVJNIg 密码: d483备用地址(腾讯微云):https://share.weiyun.com/5tTLqQk 密码:pxezuj Vue.js是一套构建用户界面的轻量级MVVM框架,与其他重量级框架不同的是, Vue.js 的核心库只关注视图层,并且非常容易学习,很容易与其它前端技术或已有的项

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

Power BI教程_Power BI数据分析快速上手及案例实战

Power BI数据分析快速上手及案例实战 课程学习地址:http://www.xuetuwuyou.com/course/194 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本课程在<Power BI 数据分析快速上手>基础上结合大量的实例,深入讲解PowerBI中看似难懂的各种概念.操作, 并结合行业中的典型案例贯穿了从初级的数据透视表工具.数据透视表选项.数据透视表的刷新.数据透视表中的排序,到中级的动 态数据透视表的创建.数据透视表函数 GETPI

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

下载快速上手数据挖掘之solr搜索引擎高级教程(Solr集群、KI分词、项目实战)

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 快速上手数据挖掘之solr搜索引擎高级教程(Solr集群.KI分词.项目实战),刚刚入手,转一注册文件,视频的确不错,可以先下载看看:http://pan.baidu.com/s/1jIdgtWM 密码:s1t3

Masonry介绍与使用实践:快速上手Autolayout

以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autoresizingMask派上了用场(为啥这时候不用Autolayout? 因为还要支持ios5呗) 简单

MongoDB快速上手

1.  MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 NoSQL数据库的特点 l  不需要预定义模式 不需要事先定义数据模式,预定义表结构.数据中的每条记录都可能有不同的属性和格式.当插入数据时,并不需要预先定义它们的模式. l  无共享架构 相对于将所有数据存储的存储区域网络中的全共享架构.NoSQL往往将数据划分后存储在各个本地服务器上.因为从本