码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue-Resource发送get-post-jsonp请求


    vue-resource - npm

    Vue-Resource是提供了使用XMLHttpRequest或JSONP发送web请求和处理响应服务的一个Vue.js插件。

    这里我们新建一个项目,来完成Resource请求的学习。

    创建完成后同时完成相应的配置。暂时我们没有涉及到组件,因此可以先把不需要的部分删掉。

    具体创建项目参考博客【前端学习】专栏下的创建vue项目的文章进行学习。

    https://blog.csdn.net/weixin_46474921/category_11988425.html?spm=1001.2014.3001.5482


    目录

     一、vue-resource导入

    引入Vue-Resource实现ajax请求开发步骤:  

     1. 安装vue-resource依赖:

    2、导入vue-reources,并调用Vue.use(vue-reources)方法使用vue-resource插件 

     二、vue-resource发送请求

     1、get请求

     2、post请求

     3、jsonp请求

    三、Vue-resource设置全局http参数 


     一、vue-resource导入

    引入Vue-Resource实现ajax请求开发步骤:  

     1. 安装vue-resource依赖:

    首先在vscode工具中切换到我们的项目下:cd 05_vueresource

    安装依赖:cnpm i vue-resource –S 

    2、导入vue-reources,并调用Vue.use(vue-reources)方法使用vue-resource插件 

    1. // 使用vue-resource插件
    2. import VueResource from 'vue-resource'
    3. // 全局注册使用
    4. Vue.use(VueResource)

     二、vue-resource发送请求

     vue-resource发送网络请求,获取服务器数据: 分别发送get、post、jsonp请求

     1、get请求

     this.$http:获取vue-resource的http请求对象

    发送 get 请求 :示例接口:获取短视频

    这里找到一些免费的API接口,大家也可以自行查找

    免费开放API接口 - 掘金 (juejin.cn)

    我们首先复制链接进行查看:https://api.apiopen.top/api/getHaoKanVideo?page=0&size=2

    ​

    接下来编写get请求: 

    1. methods: {
    2. getInfo() {
    3. // vue-resource发送get请求
    4. this.$http.get('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=2').then(function (data) {
    5. //data参数就是服务器接口返回给客户端的数据:json
    6. console.log(data); // 拿到服务器返回的成功的数据
    7. })
    8. }

     测试一下:

    ​

    ​

    此时我们可以看到通过get请求,后台给我们返回的封装的数据结构。

    接下来我们想拿到服务器数据,应该如下:

    ​​

     点击get请求,则会获取到内容,如下:(在这里我们采用的是以前的api,大家可自行更换)

    ​

     2、post请求

     this.$http:获取vue-resource的http请求对象

     发送post请求:示例接口:小说搜索接口

    1: 发送post请求,默认没有表单格式的,要指定enctype:

    application/x-wwww-form-urlencoded

    post方法的第三个参数:{emulateJSON: true}就是设置提交表单类型。

    2:post方法的第二个参数,设置提交参数 eg: name:”鬼吹灯” 表示搜索名字是鬼吹灯的小说

     3、jsonp请求

    由于浏览器的安全性限制,不允许AJAX访问 协议不同、域名不同、端口号不同的 数据接口,浏览器认为这种访问不安全,实现跨域请求的原理是通过动态创建script标签的形式,把script标签的src属性,指向数据接口的地址,因为script标签不存在跨域限制,这种数据获取方式,称作JSONP。 

    vue-resource支持直接发送jsonp请求:示例接口:360搜索

     

    在同一个html中如果用get请求发送360搜索,是行不通的,因为访问了一个不同的服务器,浏览器是不支持的,所以直接发送jsonp请求

    三、Vue-resource设置全局http参数 

    在真实项目中,我们所请求的接口地址都是有接口文档的,是有一定规范,比如: 接口的请求根路径都是相同,默认ajax传输格式也都是json。

     Vue使用vue-resource后,配置全局http参数, 可以减少发送请求的一些重复操作  

     发送请求时,就可以省略主机路径部分,发送post请求时,也不用单独设置参数了:

    1. //url地址一定不能带/
    2. this.$http.get('satinApi?type=1&page=1').then(function (result) {
    3. console.log(result.body)
    4. this.items = this.items.concat(result.body.data);
    5. })
    6. this.$http.post('novelSearchApi', {name: "鬼吹灯"}).then(result => {
    7. console.log(result.body)
    8. })

    1: 请求的url的路径相同部分可以省略了.

    2: 发送post请求时候,第三个表单参数类型可以省略了。

  • 相关阅读:
    磁盘占用率100% 的优化方案
    页面加载动画_渐隐变色旋转小圆圈
    【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame
    Hadoop生态系统——HiveQL操作实战
    Kubernetes(K8S)是什么?
    【面向校招】Golang 常考面试题汇总 持续更新中...
    【Chrome】使用k8s、docker部署无头浏览器Headless,Java调用示例
    java框架-Spring-Spring Web MVC
    SpringCloud - Spring Cloud Netflix 之 Hystrix Dashboard仪表盘监控(九)
    Selenium安装WebDriver Chrome驱动(含 116/117/118/119/120/)
  • 原文地址:https://blog.csdn.net/weixin_46474921/article/details/126749045
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号