Vue-Resource发送get-post-jsonp请求

vue-resource - npm

Vue-Resource是提供了使用XMLHttpRequestJSONP发送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插件 

// 使用vue-resource插件
import VueResource from 'vue-resource'

// 全局注册使用
Vue.use(VueResource)

 二、vue-resource发送请求

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

 1、get请求

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

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

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

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

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

接下来编写get请求: 

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

 测试一下:

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

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

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

 2、post请求

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

 发送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请求时,也不用单独设置参数了:

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Vue.js 是一个 JavaScript 框架,使用它可以方便地进行前端开发。vue-resourceVue.js 的一个插件,可以用来发送 HTTP 请求。 关于请求类型,vue-resource 支持 POST 和 GET 两种请求方式。使用方式如下: - GET 请求: ```javascript this.$http.get('your_api').then(response => { // success callback }, response => { // error callback }); ``` - POST 请求: ```javascript this.$http.post('your_api', { // request body }).then(response => { // success callback }, response => { // error callback }); ``` 关于请求格式,vue-resource 支持 form 和 json 两种格式。默认情况下,vue-resource 会将请求体序列化为 application/x-www-form-urlencoded 格式,如果需要发送 json 格式的请求,需要手动设置请求头: ```javascript this.$http.post('your_api', { // request body }, { headers: { 'Content-Type': 'application/json' } }).then(response => { // success callback }, response => { // error callback }); ``` ### 回答2: vue-resourceVue.js 的一个插件,用于发送 HTTP 请求。在 Vue.js发送 POST 和 GET 请求可以使用 vue-resource 的形式处理。下面是一个例子,展示如何用 vue-resource 进行 POST 和 GET 请求发送 Form 表单数据和 JSON 数据。 发送 POST 请求: 1. 使用 vue-resource 的 $http.post() 方法发送 POST 请求。 2. 将要发送的数据作为参数传递给 $http.post() 方法。 3. 如果要发送 Form 表单数据,可以将数据作为对象传递给 $http.post() 方法。 4. 如果要发送 JSON 数据,需要在请求头中设置 Content-Type 为 application/json,并将 JSON 数据作为字符串传递给 $http.post() 方法。 下面是使用 vue-resource 发送 POST 请求的示例: ``` js // 发送 Form 表单数据 this.$http.post('api/url', {param1: value1, param2: value2}).then((response) => { // 处理成功的回调 }).catch((error) => { // 处理失败的回调 }); // 发送 JSON 数据 let jsonData = JSON.stringify({param1: value1, param2: value2}); this.$http.post('api/url', jsonData, {headers: {'Content-Type': 'application/json'}}).then((response) => { // 处理成功的回调 }).catch((error) => { // 处理失败的回调 }); ``` 发送 GET 请求: 1. 使用 vue-resource 的 $http.get() 方法发送 GET 请求。 2. 将要发送的数据作为参数传递给 $http.get() 方法。 3. 参数可以直接拼接在 URL 中,也可以作为一个对象传递给 $http.get() 方法。 下面是使用 vue-resource 发送 GET 请求的示例: ``` js // 直接拼接参数在 URL 中 this.$http.get('api/url?param1=value1&param2=value2').then((response) => { // 处理成功的回调 }).catch((error) => { // 处理失败的回调 }); // 作为参数对象传递 this.$http.get('api/url', {params: {param1: value1, param2: value2}}).then((response) => { // 处理成功的回调 }).catch((error) => { // 处理失败的回调 }); ``` 以上就是使用 vue-resource 发送 POST 和 GET 请求时,发送 Form 表单数据和 JSON 数据的方法。 ### 回答3: Vue-resourceVue.js官方推荐的一个用于处理网络请求的插件。使用Vue-resource可以很方便地进行post和get请求,并且可以以form和json的形式进行数据传输。 首先,我们来讲解如何进行post请求。在Vue组件中,可以通过Vue-resource的$http对象来发送post请求。要发送一个form形式的post请求,可以使用`this.$http.post(url, formData)`方法,并将form数据作为第二个参数传递进去。 例如,假设我们要向服务器端发送一个form形式的post请求,可以通过以下代码实现: ``` this.$http.post('/api/users', this.formData).then(response => { console.log(response.body); }, error => { console.error(error); }); ``` 其中,`/api/users`是请求的url,`this.formData`是包含form数据的对象。通过`then`方法可以处理请求成功和失败的情况,并且可以从`response`对象中获取到服务器返回的数据。 下面我们来看一下如何进行get请求。同样地,在Vue组件中,可以通过Vue-resource的$http对象来发送get请求。要发送一个json形式的get请求,可以使用`this.$http.get(url, {params: jsonData})`方法,并将json数据作为`params`属性传递进去。 举一个例子,如果我们需要向服务器端发送一个json形式的get请求,可以按照以下方式实现: ``` this.$http.get('/api/users', {params: {name: 'Alice', age: 25}}).then(response => { console.log(response.body); }, error => { console.error(error); }); ``` 在这个例子中,`/api/users`是请求的url,`{name: 'Alice', age: 25}`是需要传递给服务器的json数据。同样地,在`then`方法中可以处理请求成功和失败的情况,并且从`response`对象中获取到服务器返回的数据。 总之,使用Vue-resource可以轻松地发送post和get请求,并且可以自由选择传递form或json形式的数据。以上就是关于如何使用Vue-resource进行post和get请求的简要说明。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Siobhan.Mxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值