整合ssm使用Vue实现前后端数据交互(详细版)

使用vue 实现前后端数据的交互

创建vue工程

一.
创建webpack骨架类型的vue项目格式参考如下:
在这里插入图片描述
二.
npm操作:
安装vue-router:
npm install vue-router --save-dev
安装element-ui:
npm i element-ui -S
安装SAss加载器:
npm install sass-loader node-sass --save-dev
安装axios:
npm install --save axios vue-axios
注意安装依赖之后要重新执行nmp install
main.js:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import VueRouter from 'vue-router'
import router from './router'
//完整引入element
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//axios
import axios from 'axios';
import VueAxios from "vue-axios";
Vue.use(VueAxios, axios)
Vue.use(ElementUI);
Vue.use(VueRouter);

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  //配置路由
  router,
  render: h => h(App)
})

在app.vue中添加(路由视图):
router-view
配置路由(省略)
三.创建一个登陆界面(有兴趣的可以找我拿源码)
在这里插入图片描述
登陆界面实现了数据验证和绑定
ajax请求:

this.axios({
                method : 'get',
                url : ' http://localhost:8081/book/VueLogin?name='+vm.form.name+'&password='+vm.form.password,
                data : {
                  name : this.name,
                  password : this.password
                }
              })
                .then(function (response) {
                  console.log(response)
                });

这里说明一下我只实现了get的请求方式post在下一篇文章中再写。

创建ssm项目

一.编写controller(返回的是json字符串)
@ResponseBody
@RequestMapping(value = “/VueLogin”,method = RequestMethod.GET)
public String VueLogin(String name , String password){
System.out.println(“name:”+name);
System.out.println(“password:”+password);
if(“yangyanren”.equals(name)&&“123456”.equals(password)){
return “success”;
}
return “用户名或者密码错误”;
}
在springmvc中加入配置(解决跨域问题):

<mvc:cors>
        <mvc:mapping path="/**"
                     allowed-origins="*"
                     allowed-methods="POST, GET, OPTIONS, DELETE, PUT"
                     allowed-headers="Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
                     allow-credentials="true" />
    </mvc:cors>

跨域问题:
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。
所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)
http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)
http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)
http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)
请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。
浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

结果

输入用户名,密码验证:
输入正确:
在这里插入图片描述
在这里插入图片描述
后台数据
在这里插入图片描述
ok!完美验证!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值