Ajax前后端交互的方法

ajax简介

  • Ajax :“Asynchronous Javascript And XML”(异步 JavaScript 和 XML)

ajax的优点

  • 无需重新加载整个网页的情况下,能够更新部分网页内容的技术
  • 允许根据用户事件来更新部分网页内容

ajax的缺点

  • 没有浏览历史,不能回退
  • 存在跨域问题,只能访问同源网站内容(解决办法:jsonp/cors设置请求头)
  • SEO不友好

ajax的使用方法

在这里插入图片描述

原生ajax

  • 创建对象:const xhr = new XMLHttpRequest();
  • 设置请求方法:xhr.open('GET', 'http://localhost:8000/server');
  • 发送请求:xhr.send();
  • 处理服务端返回的结果
//get方法发送原生ajax
	const btn = document.getElementsByTagName('button');
	<script>
        btn[0].onclick = function () {
   
            //创建对象
            const xhr = new XMLHttpRequest();
            //设置请求方法和url
            xhr.open('GET', 'http://localhost:8000/server');
            //发送
            xhr.send();
            //事件绑定 处理服务端返回的结果
            xhr.onreadystatechange = function () {
   
                if (xhr.readyState === 4) {
    //服务端返回了所有结果
                    if (xhr.status >= 200 && xhr.readyState <= 300) {
     
                        //处理结果
                        console.log(xhr.status); //状态码
                        console.log(xhr.statusText); //状态字符串
                        console.log(xhr.getAllResponseHeaders); //所有响应头
                        console.log(xhr.response); //响应体
                        result.innerHTML = xhr.response;
                    } else {
   

                    }
                }
            }
        }
    </script>
//post方法发送原生ajax
   <script>
        btn[0].onclick = function(){
   
            const xhr = new XMLHttpRequest();
            xhr.open('POST', 'http://localhost:8000/server');
            //设置请求头
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.send('a=100&&b=200&&c=300');
            xhr.onreadystatechange = function(){
   
                if(x
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值