无法从 API 获取数据并出现错误:请求的资源上不存在“Access-Control-Allow-Origin”标头[重复]

问题描述 投票:0回答:1

我编写了一个新应用程序来获取 Microsoft 产品。在

rg-adguard.net
中找到的可以从 Microsoft 获取链接最大速度。 因此,我尝试创建一个相同的网站
rg-adguard.net
但需要连接到
rg-adguard.net
才能获取 Microsoft 产品 ISO 文件。 您可以看到如下代码:

    var url = 'https://tb.rg-adguard.net/php/get_version.php';
    
    $.get(
        url,
        "type_id=" + type_id,
        function (result) {
            if (result.type == 'Error base SQL') {
                alert('Error base SQL');
                return(false);
            }
            else {
                var options = ''; 
                
                $(result.versions).each(function() {
                    options += '<option value="' + $(this).attr('version_id') + '">' + $(this).attr('name') + '</option>';
                });
                
                $('#version_id').html('<option value="0">- ' + selversion + ' -</option>'+options);
                $('#version_id').attr('disabled', false);
                $('#edition_id').html('<option value="0">- ' + seledition + ' -</option>'+options);
                $('#edition_id').attr('disabled', true);
                $('#language_id').html('<option>- ' + sellanguage + ' -</option>');
                $('#language_id').attr('disabled', true);
                $('#arch_id').html('<option>- ' + selachitecture + ' -</option>');
                $('#arch_id').attr('disabled', true);   
            }
        },
        "json"
    );
});

我在我的网站上尝试过:https://sharengay.com 但它显示一个错误,如下所示:

加载失败 https://tb.rg-adguard.net/php/get_version.php?type_id=1:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“https://sharengay.com” 访问。

如何通过并获取数据?

php html http-headers
1个回答
0
投票

您需要设置一个

Access-Control-Allow-Origin
标题。将其添加到 PHP 文件的顶部:

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

另外,如果您认为这不安全,请检查这个问题:如何绕过 Access-Control-Allow-Origin?

© www.soinside.com 2019 - 2024. All rights reserved.