我尝试使用javascript:http://www.codeabbey.com/index/task_view/say-100从codeabbey解决此问题。任务相当简单,我必须发送令牌,获取number
并发送回(100 - number)
。解决方案应该是直截了当的。但我无法提出正确的要求。如果我提出的请求如下:
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://codeabbey.sourceforge.net/say-100.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
var token = 'token=' + input();
xhr.send(token);
xhr.onreadystatechange = function() {
console.log(xhr);
};
我收到一个空文本和状态为0的响应(还有一个CORS错误 XMLHttpRequest无法加载http://codeabbey.sourceforge.net/say-100.php。请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许原点“http://www.codeabbey.com”访问。)。同时,浏览器的标题选项卡显示状态代码 200 OK 。
如果我将此请求同步(在true
中将false
更改为xhr.open()
),我收到无法执行'send'.. 错误,同样的CORS错误但在浏览器响应选项卡中获取数据(即 secret:27 )(状态代码仍为200)。然而,我无法在代码中访问它(注意登录到控制台)。
你能帮我找到合适的解决方案吗?为什么xhr
开发人员工具中的数据和数据不同(即响应状态)?提前谢谢。