gpt4 book ai didi

javascript - 访问控制允许来源 OPENCART 无解决方案

转载 作者:行者123 更新时间:2023-11-27 23:49:07 27 4
gpt4 key购买 nike

我的网站出现问题,正如您在 opencart 中所知,我们有 config.php 可以处理 HTTP 请求,下面是代码:

define('HTTP_SERVER', 'http://www.DOMAIN.com/');
define('HTTPS_SERVER', 'https://www.DOMAIN.com/');

如果我们输入网站 www. DOMAIN.com,网站就会正常运行但如果没有www,它将无法工作。 例如:http://DOMAIN.com

如果我们从config.php中删除www.,那么网站将运行良好。

我相信问题是由Access-Control-Allow-Origin引起的

我尝试在.htaccess中使用以下代码

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

通过添加上述代码,网站可以运行,但功能不完整。但问题仍然存在于jquery-2.1.1.min.js

catalog/view/javascript/jquery/jquery-2.1.1.min.js

那么,请指导我如何使其适用于他们两个?

例如:Domain.comwww.domain.com

最佳答案

请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'https://sx.xyz.com ' 因此不允许访问。

我在 Ajax 响应中也遇到过类似的跨域数据交换问题,如错误未定义。但 header 中的响应是状态代码:200 OK

Failed to load https://www.Domain.in/index.php?route=api/synchronization/checkapikey: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'https://sx.xyz.in' is therefore not allowed access.

解决方案:在我的例子中,我必须通过 Ajax 将函数 checkapikey() 调用到其他域,并获取调用位置的数据响应

if (($this->request->server['REQUEST_METHOD'] == 'POST') && isset($this->request->server['HTTP_ORIGIN'])) {

$this->response->addHeader('Access-Control-Allow-Origin: ' . $this->request->server['HTTP_ORIGIN']);
$this->response->addHeader('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
$this->response->addHeader('Access-Control-Max-Age: 1000');
$this->response->addHeader('Access-Control-Allow-Credentials: true');
$this->response->addHeader('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');

$headers = getallheaders();
...
}

关于javascript - 访问控制允许来源 OPENCART 无解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com