前后端交互------登录页面

1.创建项目

在文件夹下运用cmd命令创建一个vue项目

 

然后导入Axios

cnpm install axios--save

 还需要再装element

vue add element

接下来需要在HBbuilder中导入项目

 创好之后启动项目

成功启动!

 2.配置前端页面

2.1 main.vue:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'

import Axios from 'axios' 

//这行代码导入了名为Axios的模块,该模块是一个基于Promise的HTTP客户端,用于发送网络请求。
vue.prototype.$axios=Axios
//这行代码将Axios作为Vue实例的原型属性axios,这样在组件中就可以通过this.axios来访问Axios实例,方便在组件中进行网络请求。
Axios.defaults.baseURL = 'https://127.0.0.1:8001';
//这行代码设置了Axios的默认请求URL。这里将基础URL设置为https://127.0.0.1:8001,意味着所有通过Axios发送的请求都会以这个URL作为基础进行请求。

Vue.config.productionTip = false

import qs from 'quertstring'
// 添加请求拦截器
Axios.interceptors.request.use(function (config) {
    //post和put请求中的请求参数修改为json字符串
	if(config.method==="post"||config.method==="put")
	{
		config.data=qs.stringify(config.data);
	}
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

2.2 app.vue

 <router-view> -----Vue Router提供的路由视图组件,用于渲染当前路由对应的组件。它会根据当前URL的路径匹配到对应的组件,并将该组件渲染在这个位置。

<template>
  <div id="app">
	<router-view></router-view>
  </div>
</template>
<style>
#app {
  text-align: center;
  margin-top: 60px;
}
</style>

2.3 index.vue

import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
Vue.use(VueRouter)
const routes = [
  {
    path: '/',
    name: 'Login',
    component:Login
  }
]
const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})
export default router

2.4 Login.vue

<template>
	<div>
	<h3>登陆系统</h3>
	<el-form  label-width="100px" class="demo-ruleForm" style="width: 50%;margin: auto;">
	<el-form-item label="账号" >
		  <el-input type="text" v-model="loginform.username" autocomplete="off"></el-input>
	</el-form-item>
	  <el-form-item label="密码" >
	    <el-input type="password" v-model="loginform.password" autocomplete="off"></el-input>
	  </el-form-item>
	  <el-form-item>
	   <el-button type="primary" v-on:click="login()">登录</el-button>
	  </el-form-item>
	</el-form>
	</div>
</template>
<script>
	export default{
		name:"Login",
		data()
		{
			return{
				loginform:{
					username:'',
					password:''
				}
			}
		},
		methods:{
			login()
			{
				let _this=this;
				// 为给定 ID 的 user 创建请求
				this.$axios.get('/login/'+this.loginform.username+'/'+this.loginform.password,{
					username:this.loginform.username,
					password:this.loginform.password
				})
				  .then(function (response) {
				    console.log(response);
				  })
				  .catch(function (error) {
				    console.log(error);
				  });
			}
			
		}
	}
</script>

3.最终效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
AJAX (Asynchronous JavaScript and XML) 是一种用于前后端数据交互的技术。它允许在不刷新整个面的情况下,通过异步方式向服务器发送请求并获取响应数据。 使用 AJAX 可以实现以下功能: 1. 发送异步请求:通过 JavaScript 创建 XMLHttpRequest 对象,并使用该对象发送 HTTP 请求到服务器。 2. 处理响应数据:一旦服务器返回响应,可以通过回调函数处理返回的数据。常见的数据格式包括 XML、JSON 或纯文本。 3. 更新面内容:根据服务器返回的数据,可以使用 JavaScript 动态更新面内容,而不需要刷新整个面。这样可以提升用户体验并减少网络流量。 以下是一个简单的 AJAX 示例代码: ```javascript // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 指定请求的方法和 URL xhr.open('GET', 'https://api.example.com/data', true); // 设置回调函数处理响应 xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { // 处理服务器返回的数据 var response = xhr.responseText; console.log(response); // 更新面内容 document.getElementById('result').innerHTML = response; } }; // 发送请求 xhr.send(); ``` 在上述示例中,我们使用 AJAX 发送了一个 GET 请求到 `https://api.example.com/data`,并设置了一个回调函数来处理服务器返回的数据。在回调函数中,我们将返回的数据打印到控制台,并将其更新到 id 为 `result` 的 HTML 元素中。 通过 AJAX,前端可以与后端进行实时的数据交互,从而实现更加动态和响应式的用户界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值