vue axios发送post请求跨域解决

2024-09-05 03:12

本文主要是介绍vue axios发送post请求跨域解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

跨越解决有两种方案,后端解决,前端解决。后端解决参考Django跨域解决-CSDN博客

该方法之前试着可以的,但是复制到其他电脑上报错,所以改用前端解决

1、main.js做增加如下配置

import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = '/api/'  //关键代码
axios.defaults.timeout = 5000

2、vue.config.js添加如下

module.exports = {// 输出目录assetsDir: 'static',devServer: {proxy: {'/api/': {target:'http://127.0.0.1:8080/', // 你请求的第三方接口changeOrigin:true, /* 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题 */pathRewrite:{  // 路径重写,/* 替换target中的请求地址 */'^/api/': ''}}},}
};

原理:

因为我们给url加上了前缀/api/,我们访问/xxx/yyy就当于访问了:/api/xxx/yyy

proxy中拦截了/api/,并把/api及其前面的所有替换成了target中的内容,因此实际访问Url是http://127.0.0.1:8080/xxx/yyy

3、vue中的请求

 axios.post('http://127.0.0.1:8080/login/',this.loginForm).then(res=>{})

 改成

 axios.post('/login/',this.loginForm).then(res=>{})

实践发现 npm run serve  从vue前端链接试着解决跨域了

但是npm run build 从django后端地址访问提示路由缺少api

所以要在我的url 都加上前缀api

old urls.py

from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
from Myapp.views import *urlpatterns = [path('admin/', admin.site.urls),path('', TemplateView.as_view(template_name='index.html')),path('login/', login),  # 登陆path('register/', register),  # 注册
]

修改old urls.py为

from django.contrib import admin
from django.urls import path,include
from django.views.generic import TemplateViewurlpatterns = [path('admin/', admin.site.urls),path('', TemplateView.as_view(template_name='index.html')),path('api/', include('Myapp.urls')), 
]

在项目下新增urls.py 配置如下

from django.urls import path
from Myapp.views import *urlpatterns = [path('login/', login),  # 登陆path('register/', register),  # 注册
]

 项目下urls.py 如下所示

亲测跨域解决

这篇关于vue axios发送post请求跨域解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137809

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”