我在应用程序中从URL收集json值时遇到了麻烦。当我尝试获取它们时,控制台中会显示错误日志,说access-control-allow-origin不允许来源。
我研究了一下,发现必须将响应头设置为Access-Control-Allow-Origin:*
如何使用纯JavaScript进行此操作?没有jquery或任何其他库。
这是我目前的代码:
<script type="text/javascript">
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "http://example.com/id=69", false );
xmlHttp.send( null );
console.log("JSON values from URL: ");
console.log(xmlHttp.responseText);
</script>
答案 0 :(得分:5)
我研究了一下,发现必须将响应头设置为Access-Control-Allow-Origin:*
如何使用纯JavaScript进行此操作?没有jquery或任何其他库。
除非你的服务器正在运行JavaScript(NodeJS等),否则你不能这样做。
服务器必须允许从文档的来源访问资源。它的工作方式是:
浏览器要求访问资源的权限(这称为“预检”请求),告诉服务器要访问的资源等等。
服务器回复相应的标题,告诉浏览器是否允许访问。
浏览器发送实际请求。
服务器响应它(再次包括相关标题)。
我相信有些情况下不需要飞行前。所有这些都由XMLHttpRequest
对象处理。
答案 1 :(得分:2)
您无法在客户端执行此操作,您的服务器必须发送这些标头。