Javascript 未能加载https://…:否';访问控制允许原点';标题

Javascript 未能加载https://…:否';访问控制允许原点';标题,javascript,json,api,xmlhttprequest,Javascript,Json,Api,Xmlhttprequest,嗨,也许你能帮助启发我:) 我试图用纯Javascript(无jQuery)制作一个简单的报价生成器应用程序,并尝试加载以下api 但无论是在本地主机上还是在将其上载到主机上,我都会不断收到以下错误: 加载失败 : 请求的服务器上不存在“Access Control Allow Origin”标头 资源因此,不允许使用源“” 进入 Im使用的代码如下所示: // JavaScript Document var xhr = new XMLHttpRequest(); xhr.open('GET

嗨,也许你能帮助启发我:)

我试图用纯Javascript(无jQuery)制作一个简单的报价生成器应用程序,并尝试加载以下api

但无论是在本地主机上还是在将其上载到主机上,我都会不断收到以下错误:

加载失败 : 请求的服务器上不存在“Access Control Allow Origin”标头 资源因此,不允许使用源“” 进入

Im使用的代码如下所示:

// JavaScript Document

var xhr = new XMLHttpRequest();
xhr.open('GET',"https://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en",true);
xhr.responseType = 'text';
xhr.send();

xhr.onload = function() {
    if(xhr.status === 200) {
        var myStuff = JSON.parse(xhr.responseText);
        console.log(myStuff);

       }
}
如果我使用的API url末尾带有.json,例如:

它工作得很好,但是如果我使用没有.json的任何东西,它就会给我这个错误


我搜索了一整天,找不到解决方案,我真的不想用jQuery来解决这个问题。

快速简单的回答-您请求的资源应该是来自同一来源的,也就是来自


它与JSON一起工作,因为JSON的工作方式有点不同,但是为了正常的API调用工作,API服务器上的某个人必须允许您的网站的源代码,以便它能够对服务器进行安全调用

您可以尝试对请求使用JSONP,看看它是否有帮助。

这是关于CORS的
这应该会有帮助-实际上,你们并没有办法从网站上做到这一点。您的请求将被浏览器阻止。您可能要做的是编写后端代理来完成这项工作

“JSON因为JSON的工作方式有点不同”-JSON的工作方式不同。服务器已配置为告诉浏览器跨源请求可以,但只有当端点应该返回JSON时才可以。@Quentin说得很好,正是我的意思,简单地说。“我真的不想使用jQuery来处理这个问题”-jQuery没有帮助