Javascript CORS不再工作了

Javascript CORS不再工作了,javascript,php,ajax,Javascript,Php,Ajax,我遇到了一个奇怪的问题,从一天到另一天,我对一个网站的AJAX请求不再有效 我现在正努力让它工作,却找不到问题 这是我的javascript: 基本上,它非常简单,它检索ip地址,然后将其发送(POST)到存储它的站点 var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://dashboard.inofec.nl/ip', true); // If specified, responseType must be empt

我遇到了一个奇怪的问题,从一天到另一天,我对一个网站的AJAX请求不再有效

我现在正努力让它工作,却找不到问题

这是我的javascript: 基本上,它非常简单,它检索ip地址,然后将其发送(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); var xhr=new XMLHttpRequest(); xhr.open('GET','https://dashboard.inofec.nl/ip",对),; //如果指定,responseType必须为空字符串或“文本” xhr.responseType='text'; xhr.onload=函数(){ 如果(xhr.readyState==xhr.DONE){ 如果(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(); 请求打开(“POST”https://dashboard.inofec.nl/visits"); 请求。发送(formData); //console.log('IP='+tip); //log('URL='+turl); log('ID='+dataId); } 否则{ console.log('ERROR!'); } } } xhr.send(空); 在服务器上,我现在添加了这个,以避免使用通配符

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'); } 如果(isset($_服务器['HTTP_ORIGIN'])&&&$_服务器['HTTP_ORIGIN']!=''){
标题('Access-Control-Allow-Origin:'。$\u SERVER['HTTP\u Origin']); 标题('Access-Control-Allow-Methods:GET、PUT、POST、DELETE、OPTIONS'); 标题('Access-Control-Max-Age:1000'); 标题('Access-Control-Allow-Headers:Content-Type,Authorization,X-request-With'); } 当我只用


标题('Access-Control-Allow-Origin:'); 我得到了一个错误: 已阻止跨源请求: CORS标头“访问控制允许来源”与“,*”不匹配

我得到了新的标题

CORS标头“访问控制允许来源”与“,*”不匹配

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

访问控制允许标题
内容类型、授权、X-Requested-With 访问控制允许方法
获取、放置、发布、删除、选项 访问控制允许来源*


伊沃·西隆让我想到了多重价值观。 为我指明了正确的方向

我搜索了标题,发现在Web服务器上已经设置了一个标题,我在代码中添加了它

我删除了Web服务器中的头集,以控制它的使用方式和时间


感谢分享您的想法。

'Access-Control-Allow-Origin:'*'当我访问网站时,我得到“加载失败:Access-Control-Allow-Origin”标题包含多个值',*',但只允许一个值。因此,不允许访问源代码“”。因此,我将标题更改为标题('Access-Control-Allow-Origin:');它仍然不起作用,尽管现在的响应是访问控制允许原点**