使用域名浏览时的 Ajax 问题

Posted

技术标签:

【中文标题】使用域名浏览时的 Ajax 问题【英文标题】:Ajax problem when browsing with domain name 【发布时间】:2021-05-27 16:23:24 【问题描述】:

我有一个托管在 AWS/Cloudfront 下的 Django 网站。

每个表单都包含一个 CSRF 令牌,并被 jquery 捕获,然后使用 AJAX 处理。

使用 Elastic Beanstalk URL 访问网站时,一切正常。

网址模式有效:http://example.us-east-2.elasticbeanstalk.com

使用该域名访问网站时,所有的 Ajax 调用都被拒绝,并出现 403 错误。 网址格式无效:https://www.example.com/

我有强烈的直觉,AWS 中有一个参数需要改变,但对我来说,它是一个黑盒子。

提前感谢您阅读并回答此问题。

EDIT 1:我认为唯一的问题是发布的参数没有被解析到控制器(views.py)

【问题讨论】:

【参考方案1】:

我认为您应该验证 SSL/TLS 要求, 或一些文档,例如: Amazon Using HTTPS

当我启动 AWS 服务器时,我必须配置 http 和 https。

【讨论】:

【参考方案2】:

不出所料,我终于找到了一个要更改的参数:

CloudFront > 选择您的存储桶 > 分配参数 > 行为 > 编辑 > 为 Origin 策略选择 managed-AllViewer。

【讨论】:

以上是关于使用域名浏览时的 Ajax 问题的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 跨域方法

form表单提交没有跨域问题,但ajax提交存在跨域问题

Nginx小功能合集

PHP解决ajax跨域的问题

PHP解决mui中ajax的跨域问题

几种常用的ajax 跨域请求