나는이 코드를 사용하여 API 요청을 해요 :이 HTTP 요청이 실패하는 이유는 무엇입니까?
function httpGet(url){
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
console.log(this.status)
if (this.readyState == 4 && this.status == 200) {
console.log("Got names")
getNamesFromJSONArray(request.responseText);
};
};
request.open("GET", url, true);
request.setRequestHeader("Authorization", "Basic (API key goes here)");
request.setRequestHeader("Accept-Encoding", "gzip");
request.send();
}
그것은 다른 일 단지 일을하지만 지금은 말해, 실패
자원을로드하지 못했습니다 : 프리 플라이트 응답은 성공하지
및
XMLHttpRequest를 LOA 수 없습니다 d https://api.insight.ly/v2.1/contacts. 프리 플라이트 응답이 성공하지 못했습니다.
또한 "Got names"는 인쇄되지 않습니다.
왜이 코드는 다른 날에 작동했을 때 중단됩니까? API 끝 또는 내 문제입니까?
업데이트! api 웹 사이트에서 this을 발견했습니다. 이것을 구현하는 가장 간단한 방법은 무엇입니까? 나는 현재 백엔드가 없으며이 외에도 아무것도 필요하지 않습니다. 클라이언트가 읽을 수있는 Javascript로 내 API를 원하지 않기 때문에 문제가 발생한 것으로 알고 있습니다. 사용자의 이메일과 비밀번호로 다른 방법으로 API에 로그인 할 수 있습니까?
나에게 CORS 문제와 같은 소리가납니다. 아마도 올바른 액세스 헤더를 보내야 할 것입니다. –
@ObsidianAge 그런데 왜 며칠 전에 작동 했습니까? 여기에 무슨 일이 일어나고 있는지에 대한 설명은 –
이 참조 https://stackoverflow.com/a/45533146/441757 또는 https://stackoverflow.com/questions/45586064/receive-oauth2-token-from-xhr-request/45586285# 45586285 또는 https://stackoverflow.com/questions/45210184/why-is-my-drupal-8-cors-setup-not-working/45312903#45312903 (중복으로 표시된 질문에는 불행히도 답변이 없습니다. 내가 볼 수있는 한 실제로 이런 종류의 경우에 대한 모든 행동을 설명합니다.) 요지는 다음과 같습니다. https : // api.insight.ly/v2.1/contacts 엔드 포인트는 OPTIONS 요청에 대한 권한 부여가 필요합니다. 그렇게해서는 안됩니다. – sideshowbarker