前端获取数据常见的几种方法

2023-11-06

1.原生获取ajax

<script>
        // 1. 创建xhr,是一个请求对象,用来向服务器端发送各种请求
        var xhr = new XMLHttpRequest();

        // 在放送请求之前,必须建立连接。
        // 2. open()打开连接,参数1:请求方式,不区分大小写。参数2:请求的地址,请求的服务器所在的位置。
        var url = "book.xml";
        xhr.open("GET", url);

        // 3. 开始请求,发送请求。参数:携带的数据
        xhr.send();

        // 4. 监听服务器状态变化。在状态发生变化时执行。相应的一个“摄像头”
        // 可以在创建了xhr对象后监听。
        xhr.onreadystatechange = function () {
            // xhr.readyState === 4表示数据已经传递过来。客户端可以使用了。
            // xhr.status === 200 http状态码为200, 请求已成功
            if (xhr.readyState === 4 && xhr.status === 200) {
                // 5. 接收并使用数据  
                // response响应:站在服务器的角度。服务器给客户端响应。
                // request请求:站在客户端的角度。客户端向服务器请求。
                // xhr.response返回任意类型。
                 console.log(xhr.response);

                // xhr.responseText返回字符串。(掌握)
                 console.log(xhr.responseText);
				
			 	// 把字符串解析成js对象,序列化
                var obj = JSON.parse(xhr.responseText);
                console.log(obj)
                
                // xhr.responseType获取返回类型
                 console.log(xhr.responseType);

                // 响应的URL,本质上就是服务器上数据的地址。
                 console.log(xhr.responseURL);
                
                // 返回xml格式的文本。(掌握)
                console.log(xhr.responseXML);

            }
        } 
       
    </script>

原理

首先,XMLHttpRequest构造函数通过new的方式构造一个XHR对象,并将这个对象赋值给xhr(可取任意名字)

然后,调用XMLHttpRequest对象的方法open与send。

调用send方法之后请求被发往服务器,由于这次请求是同步的,JS代码会在xhr.send()这个步骤暂停掉,一直等到服务器根据请求生成响应(Response),传回给XHR对象,再继续执行。

最后,在收到响应后相应数据会填充到XHR对象的属性。

有四个相关属性会被填充:
1、responseText —— 从服务器进程作为响应主体被返回的文本。
2、responseXML —— 从服务器进程返回的DOM兼容的文档数据对象。
3、status —— 响应的HTTP状态。即从服务器返回的数字代码,如404(未找到)和200(已就绪)。
4、statusText —— HTTP状态的说明。伴随状态码的字符串信息。

2.依赖jquery的三种方法

在这里插入图片描述

箭头函数不懂的可以参考如下代码
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端获取数据常见的几种方法 的相关文章

  • 在 Python 中将 GET 更改为 POST (Flask)

    我正在尝试创建一个简单的应用程序 其中在服务器上生成整数数组并将其发送到客户端 以下是 app py 中的一些示例 工作 代码 from flask import Flask render template request url for
  • $_POST 返回空

    尝试练习一下 ajax 和 PHP 我不明白为什么每当我发送一些东西时 它都会返回空或未定义的索引 PHP 返回空 JS form submit function var meth this attr action var msg msg
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • 如何获取 Spotify API 的访问令牌?

    我已经研究 Spotify api 和示例源代码几天了 但我仍然不知道如何获取访问令牌来访问用户的播放列表数据 我已经到达了拉起登录窗口 用户登录 然后收到授权码的地步 此时 我尝试做这样的事情 window open https acco
  • 在用户离开或关闭页面之前保存 HTML5 视频当前时间

    我想保存 HTML5 视频的位置currentTime当用户离开网页时到数据库 这好像是window onbeforeunload这不是一个可靠的方法 更不用说它会给出一个不受欢迎的弹出窗口 有一个更好的方法吗 除了定期将位置保存到服务器之
  • QTP Web 可扩展性工具包和 ajax

    我正在尝试使用 QTP 测试一个使用 ajax4jsf 来实现 ajax 功能的 Web 应用程序 QTP 无法识别 ajax 何时完成 我读到 QTP 9 5 和 QTP 10 提供的 Web 可扩展性工具包可以解决我的问题 但是 我不明
  • 如何向 node-http-proxy 响应添加标头

    我需要在第三方服务上解决CORS 所以我想构建一个代理来添加标头 Access Control Allow Origin 为什么这段代码没有添加标题 httpProxy require http proxy var URL https th
  • 使用ajax轮询服务器

    我正在建立一个网站 该网站有一个用户可以互相发送消息的系统 我希望这样当登录用户收到消息时 他会在屏幕上看到一些更新告诉他这一点 这些消息不必是实时的 所以我认为我不想用彗星或主宰之类的东西来推动 相反 我很乐意每隔一分钟左右轮询一次服务器
  • 我无法使用 jQuery 和 abort() 函数停止 ajax 请求

    我的 jQuery 如下 var x ajax dataType jsonp url https ajax googleapis com ajax services search images q google v 1 0 success
  • 访客客户检查 Woocommerce 订单账单电子邮件时可享受首单折扣

    通过对照正在处理和已完成的订单检查来宾客户的电子邮件地址 如果电子邮件没有订单 我想给来宾 首单折扣 如果这能在客人输入电子邮件时发生 那就太好了 我想我已经成功制作了折扣代码 现在我请求帮助合并这两个代码 使其一切正常 这是折扣代码 ad
  • HTTPbis - bis 是什么意思?

    我经常看到 bis 附加到协议版本 例如 v 34bis 或 httpbis bis 是什么意思或代表什么 我认识的一位电信工程师认为它可能起源于法国 正如其他人已经说过的 bis 来自 两次 或 重复 http oxforddiction
  • XMLHttpRequest 上传进度事件在 Firefox 10.0.2 中不起作用

    我正在尝试创建一个带有进度条的基于ajax 的上传表单 这是我的代码 其中的上传部分 xhr new XMLHttpRequest xhr upload addEventListener progress function e if e l
  • 最佳性能 + jQuery Ajax + Div 刷新

    有人对 jQuery Ajax 刷新 DIV 的最佳选择有好的建议吗 以下是我想要实现的目标 强调性能优化 左边会有导航 就像Google Facebook一样 右边有内容窗格 DIV 当用户点击每个导航时 内容窗格将相应刷新 而不刷新整个
  • 我可以使用 jQuery 的 AJAX 将表单信息提交到 Google Spreadsheets 吗?

    我喜欢能够使用谷歌电子表格 但以视觉方式集成到我的网站中很棘手 所以我想我会重新创建他们的表单 一个简单的剪切 粘贴 通过 AJAX 提交表单 数据将转到电子表格 我可以将我的用户重定向到比谷歌默认的 谢谢你所做的一切 更漂亮的东西你刚刚做
  • 无法从 JQuery ajax 调用接收 JSON

    我已经确定来自服务器的 JSON 是有效的 手动进行 ajax 调用 但我真的很想使用 JQuery 我还使用 firebug 确定发送到服务器的 post URL 是正确的 但是 错误回调仍然被触发 解析错误 我还尝试了数据类型 文本 我
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • 在 Python 中发送 100,000 个 HTTP 请求的最快方法是什么?

    我正在打开一个包含 100 000 个 URL 的文件 我需要向每个 URL 发送 HTTP 请求并打印状态代码 我正在使用 Python 2 6 到目前为止 我已经了解了 Python 实现线程 并发的许多令人困惑的方式 我什至看过蟒蛇一
  • Ajax 调用后使用 Django 模板呈现 JSON 对象

    我一直在尝试了解什么是最佳方法Ajax http en wikipedia org wiki Ajax 28programming 29 in Django http en wikipedia org wiki Django 28web f
  • 使用 Django 发出 HTTP 请求并反序列化输出

    因此 我对整个 Web 开发几乎完全陌生 但已经投入到一个使用 Django 从 Web 服务中提取和解析数据的副项目中 并且即使在查看 Django 时 我也很难准确地理解事情是如何工作的 文档 在 Django 中 我已经完成了所有设置
  • Request.Form 和 Request.QueryString 之间的区别?

    有人可以告诉我两者之间的确切区别吗Request Form and Request QueryString 我知道一个区别 比如 如果HTTP请求方式为POST 则用户提交的数据在申请表 收藏 如果HTTP请求方法是GET 则用户提交的数据

随机推荐