ajax基础

1.AJAX
A:Asynchoronous 异步的
J:JavaScript (JSON)
A:And
X:XML

XML和HTML
ML:标记语言
XML: extensive markup language 可扩展

相同点:都是用标签,属性,文本组织的
不同点:HTML:标签被w3cshool规定好的标签,标签的属性也是规定好的。
XML:可以自己定义规则。与平台无关的,客户端与服务端,客户端与客户端之间,
用来传递信息,数据描述的载体。
缺点:在传递数据时,描述信息的标签,占据了带宽。
后来,设备与设备之间传输信息的格式,由XML格式的信息传递,变为了JSON,
{‘name’:'tom','age':18}.
JSON  (javascript object notation)javascript对象描述。

JSON和XML是一类,描述数据信息的格式
JavaScript和html是一类,都是语言

异步:不用等待执行结果,可以去执行其他事情。
同步:必须等待一个事情结束了,才能继续进行下一步。

程序中不是说异步就一定好,有各自的应用场合。
AJAX不是一种语言,是一种纯前端的技术(浏览器使用的)
浏览器里内嵌了一个对象,XMLHTTPRequest,通过该对象也能发起一个请求,并等待服务器的响应,
处理响应。简称xhr
浏览器地址栏里输入地址不就是发起请求吗?
打开一个网页,有黄金3秒钟,为了提高用户体验,先把静态的内容呈现,
特别复杂的内容会单独再发起请求,慢慢加载。整体
页面加载,给用户一个反馈。等用户看到后面的内容时,可能几十秒过去了,这时候已经加载出来了。

2.AJAX应用场合

1.单独发请求,单独响应,单独刷新局部页面。
2.注册
	有些网站注册内容项比较多,因为用户名重复或者其中一项错误,但是只在
	全部写完,点击注册时才知道错误,返回注册页面,之前输入的内容都没有了,
	还得重新输入。
	怎么能及时提示?
	在输入完用户名后,输入其他内容时,已经去服务器请求,这样就能提前知道。
	单独刷新页面,保留其他内容的基础上,只修改用户名。
3.使用AJAX的步骤
    标准JS:
        1.获得 XMLHTTPRequest对象
        2.进行配置:包括请求路径,发送的数据,如何处理收到的响应
        3.发送请求

    标准Jquery
        $.ajax(配置参数);
        配置参数以字典,键值对的方式,也就是JS对象的形式传入。
        
    在注册的html模板中加载JS,位置写到head中。
    Jquery文件放到静态文件中
    
        <script src="static/js/jquery-1.11.3.js"></script>
        <script>
            $(function (){
               var inputusername = $('#username');
                var spanusername = $('#span_username');
                inputusername.blur(function () {
                    var name = inputusername.val();
                    $.ajax({
                        url:'/check',
                        data:{'username':name},
                        type:'post',
                        datatype:'json',
						async:'true',
                        successs:function (date) {
                            console.log(data)
                        },       
                        error:function (err) {
                            console.log('错误信息:'+err)
                            }
                        });
                    }); 
            })
        </script>
    $(function () {}是当DOM树加载完毕后执行的
    当输入完用户名之后去输入其他的时候,就去提交请求。当用户名文本框失去焦点blur的时候,就把用户名
    发送给服务器。因为要获取这个文本框对象,这里增加id属性为input_username。
    无论有没有重名,服务器必须给一个响应,如果不可用,提示该用户名已被占用。
    直到用户名改为可用为止。
    在注册模块中,增加一个<span>行内标记,服务器要动态修改它的文本内容,所以也需要获取该元素的JS对象,
    也增加一个id属性span_username。
    $.ajax()中的参数具体介绍:
        
        url:ajax请求发送路径
        data:发送数据
        type:请求的类型
        datatype:指明服务器返回的数据类型
		async:'true'
        success:function(){}请求成功触发得回调函数
        error:function(){}请求失败触发的回调函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值