vue 请求后台数据的实例代码
发布时间 - 2026-01-11 02:00:07 点击率:次需要引用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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用景安虚拟主机手机版绑定域名建站?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
如何在IIS服务器上快速部署高效网站?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
HTML 中如何正确使用模板变量为元素的 name 属性赋值
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何快速生成橙子建站落地页链接?
如何用PHP快速搭建高效网站?分步指南
如何在不使用负向后查找的情况下匹配特定条件前的换行符
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
微信小程序 五星评分(包括半颗星评分)实例代码
如何在IIS中新建站点并解决端口绑定冲突?
如何快速搭建支持数据库操作的智能建站平台?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
JavaScript如何实现类型判断_typeof和instanceof有什么区别
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
想要更高端的建设网站,这些原则一定要坚持!
如何在阿里云购买域名并搭建网站?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在阿里云高效完成企业建站全流程?
Laravel如何处理异常和错误?(Handler示例)
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
Linux安全能力提升路径_长期防护思维说明【指导】
高端建站如何打造兼具美学与转化的品牌官网?
微信小程序 scroll-view组件实现列表页实例代码
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
iOS中将个别页面强制横屏其他页面竖屏
如何用IIS7快速搭建并优化网站站点?
JavaScript中的标签模板是什么_它如何扩展字符串功能
焦点电影公司作品,电影焦点结局是什么?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
详解Android中Activity的四大启动模式实验简述
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解

