软件系统定制开发Axios的使用及跨域处理

        Axios软件系统定制开发是一个开源的、软件系统定制开发可以在浏览器端和node.js的框架,软件系统定制开发它的主要作用就是实现ajax异步通信。

axios的实现异步通信功能特点有如下几种:

  • 从浏览器中间创建xmlhttprequest
  • 从node.js创建http请求
  • 支持promise api
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换json数据
  • 客户端支持防御XSRF(跨域请求伪造)

1.1 为什么使用axios呢?

由于vue.js是一个视图层框架并且作者(尤玉溪)严格遵守(关注度分离原则),所以vue.js并不包含ajax的通信功能,为了解决通信功能,作者单独开发了一个名为vue-resource的插件,但是在2.0之后停止了对该插件的维护,并推荐了Axios框架

1.2 Axios的使用:

第一步:新建一个webpack-simple项目后,安装vue axios

npm install --save axios vue-axios

第二步:在main.js文件中对axios进行引入(在项目中使用axios模块)

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import axios from 'axios'
  4. import VueAxios from 'vue-axios'
  5. Vue.use(VueAxios,axios)
  6. new Vue({
  7. el: '#app',
  8. render: h => h(App)
  9. })

第三步:发送Ajax请求

  1. this.axios({
  2. method:'get',
  3. url:'http://localhost:8080/Ssm-demo01/regist?mail='+this.mail+'&password='+this.password,
  4. data:{}
  5. }).then(function (response) {
  6. console.log(response.data)
  7. })

第四步:在服务端处理跨域问题。处理跨域之前首先要有一个后端工程(ssm、ss)都可,这里用的是用ssm搭建的后端,后端搭建可参考。搭建好后在springmvc.xml中加入下列代码处理跨域问题

后端controller代码:

  1. package com.xgsm.Controllers;
  2. import com.xgsm.pojo.User;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.*;
  5. @Controller
  6. @ResponseBody
  7. public class axiosController {
  8. @RequestMapping(value = "regist")
  9. public User regist(String mail, String password){
  10. System.out.println(mail);
  11. System.out.println(password);
  12. User user = new User(1,"zhangsan","dsdsdss");
  13. return user;
  14. }
  15. }

跨域问题指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,指的是浏览器对JavaScript施加的安全限制,跨域处理: 

  1. <!--处理跨域问题-->
  2. <mvc:cors>
  3. <mvc:mapping path="/**"
  4. allowed-origins="*"
  5. allowed-methods="POST, GET, PUT, DELETE, OPTIONS"
  6. allowed-headers="Content-Type, Data-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, Accept, DataType, responseType"
  7. allow-credentials="true"
  8. />
  9. </mvc:cors>

 第五步:在apipost中进行后端接口测试,测试成功后返回user对象

 1.3 发送ajax请求的两种方式

1.3 发送get请求

  1. this.axios({
  2. method:'get',
  3. url:'http://localhost:8080/Ssm-demo01/regist?mail='+this.mail+'&password='+this.password,
  4. data:{}
  5. }).then(function (response) {
  6. console.log(response.data)
  7. })

1.4 发送post请求 

  1. this.axios({
  2. method:'get',
  3. url:'http://localhost:8080/Ssm-demo01/regist,
  4. data:{
  5. mail:this.mail,
  6. password:this.password}
  7. }).then(function (response) {
  8. console.log(response.data)
  9. })

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发