繁体   English   中英

没有“ Access-Control-Allow-Origin”标头-尝试了所有可能的解决方案

[英]No 'Access-Control-Allow-Origin' header - Tried all possible solutions

我知道这个问题已经被问过很多次了,但是我确实尝试了所有方法,但是仍然出现此错误。

我正在尝试通过index.php文件中的ajax获取json数据。 我正在ubuntu服务器上通过apache2运行我的网站。 我不知道从这里去哪里。

确切错误:

Failed to load http://localhost:32348/getinfo: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

我试过的: -将其添加到/etc/apache2/apache2.conf文件

 <ifModule mod_headers.c>
    Header set Access-Control-Allow-Origin: *
</ifModule>

-将其添加到/etc/apache2/apache2.conf文件的每个<Directory>标记之间:

Header set Access-Control-Allow-Origin "*"

-将其添加到我的index.php文件中:

<?php 
    header('Access-Control-Allow-Origin: *');
 ?>

-将'json'更改为'jsonp',将crossDomain设置为true并添加标头以允许来源

function fetchLiveStats() {
        $.ajax({
            url: api + '/getinfo',
            dataType: 'jsonp',
            type: 'GET',
        crossDomain: true,
        headers: {'Access-Control-Allow-Origin': '*'},
            success: function(response) {
                console.log(response);
            },
            cache: 'false'
        }).done(function(data){
            pulseLiveUpdate();
            lastStats = data;
            currentPage.update();
        }).always(function () {
            setTimeout(function() {
                fetchLiveStats();
            }, refreshDelay);
        });
    }

您需要将Access-Control-Allow-Origin标头添加到来自http://localhost:32348/getinfo的响应中。

我试过的:-将其添加到/etc/apache2/apache2.conf文件

关于该问题,您所说的其他所有内容都意味着Apache在80端口上托管了该网站,而不是在32348端口上托管了该网站。您正在更改错误的服务器。

网站无法授予自己访问其他网站将授予浏览器所有者的数据的权限。


将'json'更改为'jsonp'

不要使用JSONP。 这是一个肮脏的hack。 (它还要求http://localhost:32348/getinfo返回JSONP,几乎可以肯定不是)。

将crossDomain设置为true

这只是告诉jQuery不要添加添加到Same Origin请求的标头,以防HTTP重定向到其他起源。 这样可以防止它是一个需要进行预检的复杂请求。 由于您首先没有要求使用相同的原始URL,因此不会执行任何操作。

添加标题以允许来源

您不能在请求上添加响应头!

尝试将其转换为需要进行预检的复杂请求,并导致您遇到更多问题。


您需要编辑负责提供http://localhost:32348/getinfo任何代码

尝试进行新更新时,请不要忘记清空缓存(ipconfig / flushdns)和浏览器缓存,否则,可能不会考虑修改...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM