有谁知道如何处理这些错误?我是Javascript的新手,我正在尝试为esri学习一些api的东西。老实说,我不明白这些错误意味着什么,或者如何修复它们。以下是错误:
XMLHttpRequest cannot load file://www.arcgis.com/sharing/rest/content/items/b3c3566f3e1c4b6b8035185fba217f54?f=json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
q {message: "Unable to load file://www.arcgis.com/sharing/rest/…b3c3566f3e1c4b6b8035185fba217f54?f=json status: 0", response: Object, status: 0, responseText: "", xhr: XMLHttpRequest…}
以下是制作它们的代码。
<!doctype html>
<html>
<head>
<title>Create a Web Map</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" type="text/css" href="http://js.arcgis.com/3.14/esri/css/esri.css">
<style>
html, body, #mapDiv, .map.container{
padding: 0;
margin: 0;
height: 100%;
}
</style>
<script>var dojoConfig = { parseOnLoad:true };</script>
<!--<script> Access-Control-Allow-Origin: null </script> perhaps this could be part of a solution-->
<script src="http://js.arcgis.com/3.14compact/"></script>
<script>
var map;
require([
"esri/map",
"esri/arcgis/utils",
"dojo/domReady!"
], function(Map, arcgisUtils){
arcgisUtils.createMap( "b3c3566f3e1c4b6b8035185fba217f54", "mapDiv").then(function (response) {
map = response.map;
});
});
</script>
</head>
<body>
<div id="mapDiv"></div>
</body>
</html>
任何帮助都会很棒。我不得不说我现在完全迷失了。
答案 0 :(得分:5)
查看网址:
file://www.arcgis.com/.....
AJAX不适用于文件系统。 (无论如何,这也不一定是有效的文件系统路径,它看起来应该是一个网站。)它适用于Web服务器。
据推测,您可以直接从文件系统中打开此HTML文件。而是将其托管在Web服务器(可以是您的本地计算机)上,然后通过HTTP打开它。
您的AJAX请求可能还有其他问题。也许您没有正确指定网址(这里没有足够完整的示例可以确定),或者甚至一旦您向网络服务器发出请求,它可能是一个交叉域名请求。我们真的不知道。但至少,这必须在Web服务器上运行。