【发布时间】:2020-09-01 20:08:28
【问题描述】:
我试图帮助一个朋友完成一个程序,但我的编码经验有些过时(10 年的付出或接受)。试图通过他们的 API 从数据库中提取数据的地方。我通过 XMLhttpRequest 发出此请求,但我什至在访问服务器时遇到问题。
发生的错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost/jasper/api.shiftbase.com/api/rosters?min_date=2020-07-13&max_date=2020-12-31&department_id=24477
它试图在我自己的域上搜索 url。但我需要它来搜索跨域。
整个函数:
function getRequest(){
var _request = new XMLHttpRequest();
var key = myKeyHere;
var url = "api.shiftbase.com/api/rosters?min_date=2020-07-13&max_date=2020-12-31&department_id=24477";
_request.onreadystatechange = function(event){
console.log(_request.readyState + " + " + _request.status);
if (_request.readyState == 4){
if ((_request.status >= 200 && _request.status < 300) || _request.status == 304){
alert(_request.responseText);
} else {
alert('Request was unsucceful: ' + _request.status);
}
}
};
_request.open("get", url, true);
_request.setRequestHeader("Accept", "application/JSON", false);
_request.setRequestHeader("Content-Type", "application/JSON", false);
_request.setRequestHeader("Authorization", key, false);
_request.send(null);
};
我还阅读了很多关于 CORS 以及它如何影响这些跨域请求的内容,但我不太了解它是如何工作的以及如何围绕它工作。
感谢任何帮助。
【问题讨论】:
-
你的 URL 需要一个
https://前缀 -
之前也试过了(应该在我最初的帖子中说),但后来我得到一个 ERR_HTTP_PROTOCOL_ERROR。知道那是什么吗?
-
这可能是因为您的标题中有无效字符。
application/JSON应该是application/json。从我可以从quick search 中找到的是,您的 API KEY 应采用以下格式API [your key] -
Tnx,似乎 cappital 中的 JSON 是问题 /facepalm。关于钥匙。我正在使用该设置,但不想将我的密钥放在互联网上以防万一^^。非常感谢。
标签: javascript cors