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