vue初级学习--使用 vue-resource 请求数据

摘要:
name=23&password=8888;可以清楚地看到,在post请求中,头文件中的Content-Type是默认值application/x-www-form-urlencoded,参数放在formdate中。在以下情况下,当请求有效负载投递时,头文件中的Content-Type是默认值application/json;Charset=UTF-8,参数放在requestpayload中。顺便说一下,您可以参考内容类型的参数:http://tool.oschina.net/commons2.为了解决vue resourcepost请求的跨域问题,vue提供了一个简单的解决方案vue.http。optionsemulateJSON=true;实际上,这相当于在标题中添加“Content Type”:“application/x-www-form-urlencoded”。但是,这样写比较安全way://SetVue公司。http:。选项。simulateJSON=trueVue。http:。选项。xhr={withCredentials:true}Vue。http:。选项。crossOrigin=trueVue。http:。选项。simulateHTTP=trueVue。http:。选项。root=URL。Purl//URL。Purl为什么服务器路径是这样写的?

一、导语

  我发现好像我最近几次写文,都是在7号,很恰巧啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

二、正文

  最近用vue做一个订单管理混合开发APP,但是遇到个问题,使用了vueResource的post请求,后端做了跨域解决方案,可是前端还是请求不出去,最后才发现,其实还是有问题,其实踩到这个坑,根本原因,是没把form data和request payload的区别搞懂,所以建议大家还是找找资料,搞搞清楚

  1、浅谈 form data和request payload的区别

  • form date  

  get请求,是将请求参数以&方法,拼接在url后面,如:http://www.baidu.com?name=23&password=8888;   

  真正可以明显看出区分的是在post请求上,

  post请求时,头文件 中Content-Type 是默认值  application/x-www-form-urlencoded,参数是放在 form date中的,如下情况

  vue初级学习--使用 vue-resource 请求数据第1张

  • request payload

    post请求时,头文件 中Content-Type 是默认值  application/json;charset=UTF-8,参数是放在 request payload 中的。

    顺便说下 Content-Type 的参数,大家可以参考:http://tool.oschina.net/commons

  2、解决vue-resource post请求跨域问题

    

vue提供了一个简单的解决方法,就是  Vue.http.options.emulateJSON = true; 其实等同于在headers中添加  'Content-Type': 'application/x-www-form-urlencoded'

不过,更稳妥的方法是如此写:

// 在路由的请求中如此设置
Vue.http.options.emulateJSON = true
Vue.http.options.xhr = { withCredentials: true }
Vue.http.options.crossOrigin = true
Vue.http.options.emulateHTTP = true
Vue.http.options.root = URL.Purl // URL.Purl指的是服务器路径

为何要如此写呢?感谢 我在寻找这问题时,看到的文章:https://segmentfault.com/a/1190000007087934 

 效果如下:

vue初级学习--使用 vue-resource 请求数据第1张

所以大家可以愉快的这么运行vue-resource了

getShopCartList() {
        this.$http.post(URL.ShopCartList, {
          openId: this.openId,
          userName: this.userName,
          accessToken: this.accessToken,
          sign: this.sign,
          shopId: this.shopId
        }).then(
          function (response) {
            this.$store.dispatch('update_loading', false)
            let status = response.body.status;
            if (status == 1) {
              let result = response.body.result;
              if (result !== null) {
                this.cartGoodLis = [];
                result.shopCarts.forEach((shopCartsItem) => {
                  if (shopCartsItem.cartItems.length == 1) {
                    this.cartGoodLis.push(shopCartsItem.cartItems[0])
                  } else {
                    shopCartsItem.cartItems.forEach((shopCartsItems) => {
                      this.cartGoodLis.push(shopCartsItems)
                    })
                  }
                });
              } else {
                this.cartGoodLis = [];
              }
            } else {
              // Router.verificationToUser(status, response.body.msg);
            }
          }
        )
      }

 三、 结尾

订单管理APP已经通过测试部的测试了,开心开心~~~~~~~~~~~~~~

免责声明:文章转载自《vue初级学习--使用 vue-resource 请求数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C/S框架WebService架构用户凭证(令牌)解决方案MFC中改变控件的大小和位置(zz)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mac下chrome的webapp hostadmin 快速切换host

首先是安装 app ,https://chrome.google.com/webstore/detail/hostadmin-app/mfoaclfeiefiehgaojbmncmefhdnikeg Chrome把扩展的NPAPI 禁用了,所以做成APP没以前方便了,但是有总比没有好。 安装之后发现mac下选择host文件没法选,因为finder中根本找不...

Android DeepLink 深度链接技术实现

一、DeepLink 技术介绍 DeepLink,即为深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。 DeepLink 通常运用于App社交分享、App广告引流、App裂变活动、Web to App、分享效果统计、沉默用户唤醒等场景,对广告引流、活动推广、...

通过response向服务器用Io流写入图片

   1.响应头设置字节。     使用response获得字节输出流       ServletOutputStream out = response.getOutputStream();     获取文件的绝对路径        String realPath = this.getServletContext().getRealPath("a.jpg...

list 导出为excel

/// <summary> /// 将一组对象导出成EXCEL /// </summary> /// <typeparam name="T">要导出对象的类型</typeparam> /// <param name="objLis...

kivy 滑动

from kivy.uix.gridlayout import GridLayout from kivy.app import App from kivy.lang.builder import Builder from kivy.uix.scrollview import ScrollView from kivy.uix.button impor...

数据采集平台DBus-基础依赖软件安装

         数据采集平台DBus-基础依赖软件安装                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.准备工作 1>.DBus默认软件依赖   DBus依赖如下外部组件:    Cannal:      依赖V1.0.22版本,DBus用于实时抽取bi...