ajax

ajax是什么?
Asynchronous Javascript And XML
上网怎么上的?
客户端:浏览器,前端(html、css、js、jquery)
服务端:现成的,比如百度、csdn等,后端(php、java、python)
有网
上网就是客户端向服务端发送请求,然后获取到服务端数据的过程
你是通过url的切换实现的,url就是网址,来得到不同的内容
ajax:在不刷新整个页面的前提下,完成了和服务端的交互,也就更新了网页里面的内容,一般都是局部更新
应用:nba直播,文字直播,用户注册,不更新页面加载下一页数据
ajax怎么使用?
(1)原生js实现
(2)jquery封装好的函数的用法

'content-type', 'application/x-www-form-urlencoded'
setRequestHeader
onreadystatechange
    readyState
    status
    responseText

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ajax实现</title>
</head>
<body>
    
</body>
</html>
<script>
// 原生的js实现ajax的技术
// 创建对象,
// XMLHttpRequest是高级浏览器创建ajax对象的方式
// IE8以下的创建方式不一样,只需了解即可
var xhr = new XMLHttpRequest()
// 和后端进行交互,交互的方式有两种,pc端:get、post  移动端:get、post、put、delete等
// 发送get请求 
// 参数1:请求方式
// 参数2:处理这个请求的文件,或者url
// 这样就将请求发送过去了
// xhr.open('get', 'url')
// xhr.send()

// post方式如何发送
xhr.open('post', 'url')
// 发送post,必须要添加这个东西
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
// 在发送send的时候,需要将要传递的参数写进来
xhr.send('name=狗蛋&password=123')

// 服务端返回数据给你,要使用下面的代码
// ajax在发送请求的时候,状态会改变,会触发这个事件
xhr.onreadystatechange = function () {
    // 4是固定的,代表的意思是请求发送成功
    if (xhr.readyState == 4) {
        // 当响应也成功的时候,就可以获取数据了,去判断响应状态码  404
        if (xhr.status == 200) {
            // 获取响应的内容
            var content = xhr.responseText
            // 响应内容一般都是json格式的字符串
            // 你的工作就是解析json字符串,将内容填充到html中
            // 首先将json格式字符串转化为js对象
            var obj = JSON.parse(content)
            // var obj = eval('(' + content + ')')
        }
    }
}
</script>

交互

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>和服务端交互</title>
</head>
<body>
    用户名:<input type="text" name="user" id="user">
    <br>
    会员等级:<input type="text" name="level" id="level">
    <br>
    会员余额:<input type="text" name="money" id="money">
    <br>
    会员年限:<input type="text" name="year" id="year">
    <br>
    <button id="btn">点我获取内容</button>
</body>
</html>
<script>
// 获取按钮
var obtn = document.getElementById('btn')
// 找到每一个input
var ouser = document.getElementById('user')
var olevel = document.getElementById('level')
var omoney = document.getElementById('money')
var oyear = document.getElementById('year')
// 添加点击事件
obtn.onclick = function () {
    // 和服务端交互, 创建ajax对象来交互
    var xhr = new XMLHttpRequest()
    xhr.open('get', 'ziliao0.php')
    xhr.send()

    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                // console.log(xhr.responseText)
                // 将其转化为js对象
                obj = JSON.parse(xhr.responseText)
                ouser.value = obj.name
                olevel.value = obj.level
                omoney.value = obj.money
                oyear.value = obj.year
            }
        }
    }
}
</script>

用户注册

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>用户注册</title>
    <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
    <h1>你好,世界!</h1>
    <input type="text" name="user" id="user">
    <span id="usertip"></span>
</body>
</html>
<script>
$(function () {
    $('#user').blur(function () {
        // 通过ajax将内容传递给服务端,服务端判断之后,给你个状态,你再去对应的修改你的内容
        $.ajax({
            type: "POST",
            url: "zhuce.php",
            data: "name=" + $(this).val(),
            success: function(msg){
                // msg就是服务端给你的内容
                var obj = JSON.parse(msg)
                if (obj.state == 1) {
                    $('#usertip').html('√').css('backgroundColor', 'green')
                } else {
                    $('#usertip').html('该用户已经注册').css('backgroundColor', 'red')
                }
            }
        });
    })
})
</script>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容

  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,201评论 0 7
  • 大家好,我是IT修真院深圳分院第3期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网前端工程师...
    大大头大阅读 7,669评论 1 72
  • Ajax的基本概念及使用 同步&异步 同步:必须等待前面的任务完成,才能继续后面的任务; 异步:不受当前主要任务的...
    magic_pill阅读 1,955评论 0 5
  • 之前在思维导图中介绍过集中请求Ajax的方法,但是只是匆匆说过,最近看了一本书,觉得介绍的比较详细,这里结合笔者自...
    范小饭_阅读 33,327评论 23 252
  • 原文出处 http://blog.poetries.top/2016/11/26/Ajax-summary 关注公...
    程序员poetry阅读 6,690评论 3 110