我有一个奇怪的问题,从一天到另一天我的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,*
答案 0 :(得分:0)
Yvo Cilon让我思考多重价值观。 并指出我正确的方向。
我搜索了标题,并注意到在网络服务器上已经设置了一个标题,我将其添加到我的代码中。
我删除了网络服务器中的标头集,以控制如何以及何时使用它。
感谢您分享您的想法。