element ui框架(axios使用和跨域调试)

Posted 嵌入式-老费

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了element ui框架(axios使用和跨域调试)相关的知识,希望对你有一定的参考价值。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        现在web开发中,前后端一般都是独立开发的。双方约定好调试的json数据之后,就开始并行开发了。那么对于前端开发来说,该如何测试呢?其实他们调试的时候一般都会用iis再起一个web server,把对应的json文件放到根目录下,这样就可以实现跨域调试的目的了。

        常用的web访问库一般是axios,这个之前已经提及过。

1、在vue工程中下载axios

npm install axios --save-dev

2、在main.js中引入axios

// 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 router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import axios from 'axios';

Vue.use(ElementUI);
Vue.config.productionTip = false
Vue.prototype.axios = axios; 



/* eslint-disable no-new */
new Vue(
  el: '#app',
  router,
  components:  App ,
  template: '<App/>',
  render:h=>h(App)
)

3、在MemberList网页中调用axios

<template>
	<div>会员列表</div>
</template>

<script>
export default 
	name:"MemberList",
	beforeRouteEnter(to,from,next)
		console.log('enter MemberList')
		next(vm=>
			vm.getdata();
		);
	,
	beforeRouteLeave(to,from,next)
		console.log('leave MemberList')
		next();
	,
	methods:
		getdata:function()
			this.axios(
					method:'get',
					url:'http://127.0.0.1:8082/data.json'
				).then(response=> 
					console.log(response.data)
				).catch(error=> 
					console.log(error)
				)
		
	


</script>

<style>
</style>

        通常情况下数据的加载都是在beforeRouteEnter中完成的。如这段代码所示,在vm加载成功之后,就会调用vm.getdata函数。相关函数已经在methods里面定义好。这里axios使用的方法是get,url是127.0.0.1:8082/data.json。

4、在iis中创建一个8082的server,拷贝data.json文件

        注意,npm run dev之后也会起一个server,端口会和8082不同。这样,利用axios访问8082其实就是一个跨域操作,需要利用iis设置一下。相关操作方法可以参考这个链接,https://blog.csdn.net/ShyLoneGirl/article/details/121738110

        相关data.json内容如下所示



	"name":"test_data",
	"url":"http://www.test_url.com"

5、测试网页,验证axios跨域操作是否成功

以上是关于element ui框架(axios使用和跨域调试)的主要内容,如果未能解决你的问题,请参考以下文章

Vue--axios:vue中的ajax异步请求(发送和请求数据)vue-resource异步请求和跨域

Vue---vue-cli 中的proxyTable解决开发环境中的跨域问题

Vue前端使用axios统一进行拦截和进行跨域的处理

Vue ---- ajax cookies 插件安装 跨域问题 element-ui bootscript 导入

前端Vue框架 05 第三方插件(vuex: 组件间交互的(移动端), axios - 前后台(django): ajax, element-ui: 页面布局, jq+bs: jQuery+Boo

同源和跨域