全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

vue 请求后台数据的实例代码

需要引用vue-resource

安装请参考https://github.com/pagekit/vue-resource官方文档

在入口函数中加入

import VueResource from 'vue-resource'
Vue.use(VueResource);

在package.json文件中加入

 "dependencies": {
  "vue": "^2.2.6",
  "vue-resource":"^1.2.1"
 },

请求如下

mounted: function () {
    // GET /someUrl
    this.$http.get('http://localhost:8088/test').then(response => {
       console.log(response.data);
      // get body data
      // this.someData = response.body;

    }, response => {
      console.log("error");
    });
  },

注意

1.在请求接口数据时,涉及到跨域请求

出现下面错误:

复制代码 代码如下:
XMLHttpRequest cannot load http://localhost:8088/test. No ‘Access-Control-Allow-Origin' header is present on the requested resource. Origin ‘http://localhost:8080' is therefore not allowed access.

解决办法:在接口中设置

response.setHeader("Access-Control-Allow-Origin", "*");

2.使用jsonp请求

但是出现如下错误

Uncaught SyntaxError: Unexpected token

查看请求,数据已返回,未解决.

提交表单

 <div id="app-7">
    <form @submit.prevent="submit">
      <div class="field">
        姓名:
        <input type="text"
            v-model="user.username">
      </div>


      <div class="field">
        密码:
        <input type="text"
            v-model="user.password">
      </div>


      <input type="submit"
          value="提交">
      </form>
  </div>

methods: {
    submit: function() {
     var formData = JSON.stringify(this.user); // 这里才是你的表单数据

     this.$http.post('http://localhost:8088/post', formData).then((response) => {
       // success callback
       console.log(response.data);
     }, (response) => {
        console.log("error");
       // error callback
     });
    }
  },

提交restful接口出现跨域请求的问题

查阅资料得知,

当contentType设置为三个常用的格式以外的格式,如“application/json”时,会先发送一个试探的OPTIONS类型的请求给服务端。在这时,单纯的在业务接口response添加Access-Control-Allow-Origin 由于还没有走到所以不会起作用。

解决方案:

在服务端增加一个拦截器

用于处理所有请求并加上允许跨域的头

public class CommonInterceptor implements HandlerInterceptor {

  private List<String> excludedUrls;

  public List<String> getExcludedUrls() {
    return excludedUrls;
  }

  public void setExcludedUrls(List<String> excludedUrls) {
    this.excludedUrls = excludedUrls;
  }

  /**
   *
   * 在业务处理器处理请求之前被调用 如果返回false
   * 从当前的拦截器往回执行所有拦截器的afterCompletion(),
   * 再退出拦截器链, 如果返回true 执行下一个拦截器,
   * 直到所有的拦截器都执行完毕 再执行被拦截的Controller
   * 然后进入拦截器链,
   * 从最后一个拦截器往回执行所有的postHandle()
   * 接着再从最后一个拦截器往回执行所有的afterCompletion()
   *
   * @param request
   *
   * @param response
   */
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
               Object handler) throws Exception {
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Access-Control-Allow-Methods", "*");
    response.setHeader("Access-Control-Max-Age", "3600");
    response.setHeader("Access-Control-Allow-Headers",
        "Origin, X-Requested-With, Content-Type, Accept");
    return true;
  }

  // 在业务处理器处理请求执行完成后,生成视图之前执行的动作
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
              ModelAndView modelAndView) throws Exception {

  }

  /**
   *
   * 在DispatcherServlet完全处理完请求后被调用
   * 当有拦截器抛出异常时,
   * 会从当前拦截器往回执行所有的拦截器的afterCompletion()
   *
   * @param request
   *
   * @param response
   *
   * @param handler
   *
   */
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
                Object handler, Exception ex) throws Exception {

  }
}

spring resultful无法像在jsp提交表单一样处理数据必须加上@RequestBody,可以直接json转换object,但是对与没有bean的表单数据,建议转换为map对象,类似@RequestBody Map、

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 请求后台数据  # 数据请求  # vue如何从接口请求数据  # vue.js实现请求数据的方法示例  # vuejs前后端数据交互之从后端请求数据的实例  # Vue2学习笔记之请求数据交互vue-resource  # vue请求数据的三种方式  # vue中promise的使用及异步请求数据的方法  # vue中实现先请求数据再渲染dom分享  # 谈一谈vue请求数据放在created好还是mounted里好  # vue2实现数据请求显示loading图  # Vue.js+HighCharts实现动态请求展示时序数据  # 拦截器  # 表单  # 服务端  # 还没有  # 才是  # 走到  # 可以直接  # 涉及到  # 设置为  # 转换为  # 解决办法  # 抛出  # 请参考  # 大家多多  # 会先  # 文档  # 完成后  # allowed  # Access  # present 


相关文章: 一键网站制作软件,义乌购一件代发流程?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站与域名管理如何高效结合?  建站之星代理如何优化在线客服效率?  如何在云服务器上快速搭建个人网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何在宝塔面板创建新站点?  北京网站制作的公司有哪些,北京白云观官方网站?  如何高效完成自助建站业务培训?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何快速搭建响应式可视化网站?  如何快速生成凡客建站的专业级图册?  做企业网站制作流程,企业网站制作基本流程有哪些?  制作证书网站有哪些,全国城建培训中心证书查询官网?  全景视频制作网站有哪些,全景图怎么做成网页?  如何通过老薛主机一键快速建站?  如何在阿里云虚拟服务器快速搭建网站?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何基于云服务器快速搭建网站及云盘系统?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何获取上海专业网站定制建站电话?  建站主机如何选?性能与价格怎样平衡?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  建站之星代理平台如何选择最佳方案?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在阿里云通过域名搭建网站?  C#如何序列化对象为XML XmlSerializer用法  ui设计制作网站有哪些,手机UI设计网址吗?  如何快速查询网址的建站时间与历史轨迹?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  如何快速搭建高效简练网站?  小建面朝正北,A点实际方位是否存在偏差?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何快速生成橙子建站落地页链接?  建站为何优先选择香港服务器?  linux top下的 minerd 木马清除方法  公司网站设计制作厂家,怎么创建自己的一个网站?  如何在VPS电脑上快速搭建网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何在服务器上三步完成建站并提升流量?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何快速启动建站代理加盟业务?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  在线制作视频网站免费,都有哪些好的动漫网站?  如何做静态网页,sublimetext3.0制作静态网页?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  PHP正则匹配日期和时间(时间戳转换)的实例代码 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。