首页 > 其他分享 >前端Ajax-Day32

前端Ajax-Day32

时间:2022-09-18 10:00:14浏览次数:62  
标签:调用 请求 前端 Day32 send xhr Ajax open onreadystatechange

XMLHttpRequest:用于请求服务器上的资源。

 

 

使用XMLHttpRequest发起get请求:

① 创建xhr对象

② 调用xhr.open函数:请求类型和请求地址

③ 调用xhr.send函数

④ 监听xhr.onreadystatechange事件

       // 创建xhr对象
        let xhr = new XMLHttpRequest();

        // 调用open函数
        xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks');
        
        // 调用send函数
        xhr.send();

        // 监听onreadystatechange事件
        xhr.onreadystatechange = function() {
            if(xhr.readyState === 4 && xhr.status === 200) {
                // 获取服务器响应数据
                console.log(xhr.responseText);
            }
        }

 

xhr对象的readyState属性:表示当前ajax请求的状态

 

使用xhr发起带参数的请求:在open方法内的url属性里写入?和指定参数,若有多个参数则使用&进行连接。

 

查询字符串:

 

GET请求携带参数的本质:将参数以查询字符串的形式追加到url后

URL编码:使用英文字符表示非英文字符。

 

encodeURI进行编码,decodeURI进行解码。

 

使用xhr发起post请求:

① 创建xhr对象

② 调用xhr.open函数

③ 设置Content-Type属性:setRequestHeader('Content-Type','application/x-www-form-urlencoded')

④ 调用xhr.send函数,将数据以查询字符串的方式发送给服务器

⑤ 监听xhr.onreadystatechange事件

 

     // 创建xhr对象
        let xhr = new XMLHttpRequest();

        // 调用open函数
        xhr.open('POST', 'http://www.liulongbin.top:3006/api/addbook');

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

        // 调用send函数,指定发送数据
        xhr.send('bookname=水浒传&author=施耐庵&publisher=上海图书出版社');

        // 监听onreadystatechange事件
        xhr.onreadystatechange = function() {
            if(xhr.readyState === 4 && xhr.status === 200) {
                console.log(xhr.responseText);
            }
        } 

 

标签:调用,请求,前端,Day32,send,xhr,Ajax,open,onreadystatechange
From: https://www.cnblogs.com/LWHCoding/p/16704220.html

相关文章

  • django框架之模型层-Ajax
    目录Ajax基本操作数据编码格式Ajax携带文件数据Ajax回调函数参数问题sweetalter介绍django自带的序列化组件图书管理系统Ajax基本操作1.Ajax:js自带的功能(学习的是jQuery......
  • 如何结合整洁架构和MVP模式提升前端开发体验(三) - 项目工程化配置、规范篇
    工程化配置还是开发体验的问题,跟开发体验有关的项目配置无非就是使用eslint、prettier、stylelint统一代码风格。formattingandlinteslint、prettier、stylelint怎......
  • Ajax
    AjaxAjax基本操作1.Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术,使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而......
  • Ajax
    目录Ajax一、特点二、Ajax和form表单的区别form表单:Ajax:三、基础语法四、数据编码格式五、Ajax携带文件数据六、回调函数七、序列化Ajax一、特点异步提交,局部刷新Ajax......
  • 高级前端进阶(六)
    最近有个需求,就是上传图片的时候,图片过大,需要压缩一下图片再上传。需求虽然很容易理解,但要做到,不是那么容易的。这里涉及到的知识有点多,不多说,本篇博客有点重要呀!一、......
  • 什么是Ajax?全面了解?
    目录1.什么是Ajax?2.Ajex的优点3.Ajax工作原理4.基本语法5.数据编码格式6.ajax携带文件数据7.回调函数我们知道,前端页面想要和后端进行数据交互,可以通过以下方式将参数添......
  • java 从oss上下载多个图片,压缩并返回给前端下载
    controller层/***下载图片-->创建文件夹*@paramparams*@return*@throwsException*/@PostMapping("/handerImageDownload")......
  • 前端excel导出
    导出文件流封装方法functionexportExcel(res){consturl=window.URL.createObjectURL(res)window.open(url,'_self')window.URL.revokeObjectURL(url)}......
  • ajax
    一、Ajax'''页面不刷新的情况下可以与后端进行数据交互异步提交局部刷新eg:码云用户注册无序点击按钮内部也可以完成数据交互ajax不是一门全新知识本质......
  • 前端导出excal文件已经下载二进制流文件
    导出excal文件exportTable(){        constparams={          classId:id//参数        }    ......