网页前端-原生ajax(第一部分)

1.原生ajax(Asynchronous JavaScript And XML):

什么是ajax,通俗来讲就是实现前后端交互的手段(不是一种新的语言,可以理解为一种标准,准,还是遵循js的写法(当然目前我刚好学习到原生js)),通过ajax可以实现浏览器中向服务器发送异步请求(这个异步嘛可以查阅参考基本的网络接口技术),且这种请求是无需刷新来获取数据的。

2.关于XML

什么是XML?就是一种数据的表现方式,常见于前端开发当中,它被设计用来传输和存储数据,前面发,后面收,前面收,后面发。另外,就XML而言,它和HTM类似,不同的是HTML中的标签都是预定义好的,一个萝卜一个坑,div就是div ,ul就是ul,而XML中的标记(标签不是很合适)却是自己定义,我想咋样就咋样。就比如说,你有一个对象,是一个学生,那么学生就应该具备部分属性,例如,姓名,年龄,性别,学号,班级,成绩等。那么这些属性我们可以根据汉语来自定义标记name ,age,sex,id,classid,achevement and so on。

比如说我有一个学生数据:
name = "xuwukong" ; age = 18 ; gender = "男" ;
用 XML 表示:
<student>
        <name>xuwukong</name>
        <age>18</age>
        <gender>男</gender>
</student>

但是现在主流的数据交互格式已经被json取代,原因就是xml太麻烦了,用json表示比较轻松,例如{"name":"xuwukong","age":"18","gender":"男"};

3.ajax的优缺点

正如上面所说的那样,ajax的优点就是无需刷新页面进行事件对象(客户端网页中某一坨事件)与服务器之间的数据交互。允许用户根据事件具体来更新部分页面内容。

但是问题也是有的,那就是ajax是没有记忆的,它是用完即抛型,官方点就是没有浏览历史,不能支持回退,存在跨域问题(就是你a.com不能b.com间进行资源交换)。SEO(搜索引擎优化)不太友好。

4.http协议(超文本传输协议,详细规定了浏览器和万维网服务器之间相互通信的规则),协议流程请求报文和响应报文阶段。

请求报文:行-头-空行-体

行:GET  /  URL  / HTTP1.1

头:           HOST:atguigu.com

               Cookie:name-guigu

               Content-type:application/x-wwo-form-urlencoded

               User-Agent: chrome 83

空行:          

体:  username=admin&password=admin

#响应报文

行: HTTP/1.1 200 OK

头:Content-Type:text/html; charset=utf-8

       Content-length:2048

       Content-encoding:gzip

空行:

体:

<html>
    <head>

    </head>
    <body>
          <h1></h1>
    </body>
</html>

    

4.ajax的使用

1.原生ajax的使用都是通过操作对象进行的,即XMLHttpRequest,AJAX的所有操作都是通过对象进行的。

2.使用步骤

        创建XMLHttpRequest对象

        var xhr = new XMLHttpRequest();

        创建设置请求信息

        xhr.open(method,url)

        //当然还需要设置请求头,但是一般可以不设置的

        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

        发送请求       

        xhr.send(body) //get请求时不用传body参数,只有post请求时使用

        接收响应

        //xhr.responseXML

        //xhr.responseText

        xhr.onreadystatechange  = function(){

         if(xhr.readyState == 4 && xhr.status == 200){

                var text = xhr.responseText;

                console.log(text);

            }

        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值