AJAX教程

一.get与post的区别:
1.get:

1.>get提交时,将数据显示到url中,安全性较低;
2.>url对于提交的数据大小有限制,一般是几十个汉字,不适合提交大量数据;

2.post:

1.>数据不会显示在url中,安全性较高;
2.>可以发送大量数据,尤其是文件上传必须用post;

二.简介:
1.作用:

在无刷新无提交的情况下,实现页面的局部加载;

2.定义:

AJAX=异步Javascript和XML;
AJAX是一种用于创建快速动态网页的技术;

3.使用AJAX的应用程序案例:

新浪微博,Goole地图,开心网等等;

4.举例:

1-xhr.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <button id="btn">发送ajax请求</button>
        <script>
            btn.onclick=function(){
                alert(111);
//              1.声明一个xhr对象;
                var xhr=new XMLHttpRequest();
//              2.监听xhr状态的改变
                xhr.onreadystatechange=function(){
                    console.log(xhr.readyState+'xhr就绪状态');//=4成功
                    //4个值 1,2,3,4
                    console.log(xhr.status+'响应状态');//=200
                    console.log(xhr.responseText+'响应消息主体');
                }
                //3.打开web服务器的链接
                xhr.open('get','1_xhr.php',true);//true代表是否为异步请求
                //4.发送请求消息主体(发送数据)
                xhr.send(null);
            }
        </script>
    </body>
</html>

1-xhr.php:

<?php
    //响应头部
    header('Content-Type:text/plain');
    for($i=0;$i<=10;$i++){
        echo $i.'hello';
    }

5.XMLHttpRequest用于在后台与服务器交换数据,这意味着可以在不重新加载整个网页的情况下,对网页的某部分内容进行更新;
6.向服务器发送请求,使用XMLHttpRequest对象的open()和send()方法;
eg:xhr.open('get','1-xhr.php',true);//open方法中的async参数必须设置为true; 
       xhr.send();
序号 方法 描述
1 open(method,url,async) 规定请求的类型,url以及是否异步处理请求 method:请求的类型:get或post; url:文件在服务器上的位置;async: true(异步)或false(同步);
2 send方法 send(string) 将请求发送到服务器,仅用于post请求
7.通过AJAX,Javascript无需等待服务器的响应,而是:

1.>在等待服务器响应时执行其他脚本;
2.>当响应就绪后对响应进行处理;

8.AJAX-服务器响应

若需获得来自服务器的响应,需使用XMLHttpRequest对象的responseText或responseXML;
1.>responseText     获得字符串形式的响应数据;
2.>responseXML    获得xml形式的响应数据;

9.XMLHttpRequest对象的三个重要属性:
属性 描述
onreadystatechange 存储函数,每当readystate属性改变时,就会调用该函数;
readystate 存有XMLHttpRequest的状态,从0-4发生变化;0:请求未初始化;1:服务器连接已建立;2:请求已接收;3:请求处理中;4:请求已完成,且响应已就绪;
status 200“OK”     404 未找到页面
10.常用header汇总:

header(‘Content-type:text/html;charset=utf8’);//设置页面内容是html,编码格式是utf-8;
header (‘Content-type:text/plain’);//纯文本格式;
header (‘Content-type:img/jpeg’);//JPG,JPEG;
header (‘Content-type:application/zip’);//zip文件;
header (‘Content-type:application/pdf’);//pdf文件;
header (‘Content-type:audio/mpeg’);//音频文件;
header (‘Content-type:text/css’);//css文件;
header (‘Content-type:text/javascript’);//js文件;
header (‘Content-type:text/xml’);//xml;
header (‘Content-type:application/x-show**e-flash’);//flash动画;

三.使用get方式发送ajax请求:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <button id="btn">发送ajax请求</button>
        <script>
            btn.onclick=function(){
                alert(111);
//              1.声明一个xhr对象;
                var xhr=new XMLHttpRequest();
//              2.监听xhr状态的改变
                xhr.onreadystatechange=function(){
                    console.log(xhr.readyState+'xhr就绪状态');//=4成功
                    //4个值 1,2,3,4
                    console.log(xhr.status+'响应状态');//=200
                    console.log(xhr.responseText+'响应消息主体');
                }
                //3.打开web服务器的链接
                xhr.open('get','1_xhr.php',true);//true代表是否为异步请求
                //4.发送请求消息主体(发送数据)
                xhr.send(null);
            }
        </script>
    </body>
</html>

四.使用post方式发送ajax请求

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script>
//      1.创建一个xhr对象
        var xhr=new XMLHttpRequest();
//      2.监听xhr状态的改变
        xhr.onreadystatechange=function(){
            
        }
//      3.打开一个链接
        xhr.open('post','jd.php',true);
//      4.修改请求消息头部
        xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
//      5.发送数据
        xhr.send(null);
        </script>
    </body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,347评论 1 45
  • AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 X...
    hx永恒之恋阅读 6,855评论 7 135
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,146评论 0 7
  • 第一章: 基础 1.1 是什么? AJAX = Asynchronous JavaScript and XML(异...
    张中华阅读 866评论 0 8
  • C.家务: 拖地:坚持擦几个多月,全家除厨房卫生间以外的地板,耗时1小时。而后因医生的建议与报告(特意让医生写全面...
    jlxlc阅读 132评论 0 1