CORS不再工作了

时间:2017-12-19 08:52:47

标签: javascript php ajax

我有一个奇怪的问题,从一天到另一天我的AJAX请求网站不再工作。

我现在正努力让它发挥作用而无法找到问题。

这是我的javascript: 基本上它真的很简单,它检索ip adres然后将其发送(POST)到存储它的网站。


    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'https://dashboard.inofec.nl/ip', true);

    // If specified, responseType must be empty string or "text"
    xhr.responseType = 'text';

        xhr.onload = function () {
            if (xhr.readyState === xhr.DONE) {
                if (xhr.status === 200) {
                    // console.log('R = ' + xhr.response);
                    // console.log('RT= ' + xhr.responseText);
                    tip = xhr.responseText;

                    var formData = new FormData();
                    formData.append('ip', tip);
                    formData.append('uri', turl);
                    formData.append('id', dataId);

                    var request = new XMLHttpRequest();
                    request.open("POST", "https://dashboard.inofec.nl/visits");
                    request.send(formData);

                    // console.log('IP  = ' + tip);
                    // console.log('URL = ' + turl);
                    console.log('ID  = ' + dataId);
                }
                else {
                    console.log('ERROR !');
                }
            }
        }
    xhr.send(null);

我已经在服务器上添加了

以避免使用通配符


    if (isset($_SERVER['HTTP_ORIGIN']) && $_SERVER['HTTP_ORIGIN'] != '') {
        header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
        header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
        header('Access-Control-Max-Age: 1000');
        header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
    }

当我只使用

  

标题(' Access-Control-Allow-Origin:');   我收到了错误:   Cross-Origin-request被阻止:   CORS标题'Access-Control-Allow-Origin'与',*')不匹配。

随着新标题我得到了

  

CORS-header'Access-Control-Allow-Origin'与'http://www.inofec.nl,*')不匹配。

但是当我检查标题时,我看到它以正确的标题响应。

  

访问 - 控制 - 允许报头
      内容类型,授权,X-Requested-With       访问控制允许的方法
      GET,PUT,POST,DELETE,OPTIONS       access-control-allow-origin http://www.inofec.nl,*   

1 个答案:

答案 0 :(得分:0)

Yvo Cilon让我思考多重价值观。 并指出我正确的方向。

我搜索了标题,并注意到在网络服务器上已经设置了一个标题,我将其添加到我的代码中。

我删除了网络服务器中的标头集,以控制如何以及何时使用它。

感谢您分享您的想法。