关于python的bottle框架跨域请求报错问题的处理方法
发布时间 - 2026-01-11 00:15:01 点击率:次在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200。url直接在浏览器访问也是正常的,浏览器按F12后会发现下面这个错误提示

XMLHttpRequest cannot load http://192.168.0.118:8081/get_mobile_number/?id=1. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
通过搜索引擎查询错误,会发现几乎查找出来的答案都说是跨域问题,只需要在主文件的代码中添加下面就可以了,国外的网站好多解决方案都是这样说明
@hook('after_request')
def enable_cors():
response.headers['Access-Control-Allow-Origin'] = '*'
而事实上是按找出来的解决方法添加后还是出现错误,查看浏览器输出的http头并没有看到我们刚刚增加的Access-Control-Allow-Origin:*,如下图:
通过DEBUG,进入bottle的源码中查看
这个问题我测试过在python2与python3对应的bottle框架中都存在这种问题,我们将它改为:
class HTTPResponse(Response, BottleException):
def __init__(self, body='', status=None, headers=None, **more_headers):
super(HTTPResponse, self).__init__(body, status, headers, **more_headers)
def apply(self, response):
response._status_code = self._status_code
response._status_line = self._status_line
if self._headers:
if response._headers:
response._headers.update(self._headers)
else:
response._headers = self._headers
response._cookies = self._cookies
response.body = self.body
再运行代码就可以看见ajax代码正常了
以上所述是小编给大家介绍的关于python的bottle框架跨域请求报错问题的处理方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
# python
# bottle框架
# Python Tornado之跨域请求与Options请求方式
# 关于python 跨域处理方式详解
# python web.py开发httpserver解决跨域问题实例解析
# json跨域调用python的方法详解
# Python的Django应用程序解决AJAX跨域访问问题的方法
# Python项目跨域问题解决方案
# 小编
# 就可以
# 都是
# 却是
# 只需
# 这个问题
# 要在
# 给大家
# 将它
# 报错
# 后会
# 中都
# 解决方法
# 所述
# 给我留言
# 如下图
# 出现错误
# 错误提示
# 有任何
# 事实上
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
西安专业网站制作公司有哪些,陕西省建行官方网站?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
JavaScript如何操作视频_媒体API怎么控制播放
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何用5美元大硬盘VPS安全高效搭建个人网站?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
怎么用AI帮你为初创公司进行市场定位分析?
Laravel如何创建自定义中间件?(Middleware代码示例)
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何在云主机快速搭建网站站点?
Laravel如何实现用户注册和登录?(Auth脚手架指南)
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何用美橙互联一键搭建多站合一网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
Laravel怎么使用artisan命令缓存配置和视图
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel如何实现API版本控制_Laravel版本化API设计方案
如何获取免费开源的自助建站系统源码?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何快速查询域名建站关键信息?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
使用C语言编写圣诞表白程序
,在苏州找工作,上哪个网站比较好?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel怎么实现模型属性的自动加密
Laravel怎么上传文件_Laravel图片上传及存储配置
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
香港服务器如何优化才能显著提升网站加载速度?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
焦点电影公司作品,电影焦点结局是什么?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
高端云建站费用究竟需要多少预算?
Laravel如何使用Blade组件和插槽?(Component代码示例)
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
JavaScript Ajax实现异步通信
linux top下的 minerd 木马清除方法
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比

