У меня есть следующие очень простой код, который просто читает файл в формате JSON:относительного и абсолютного пути в JavaScript
<html>
<head>
<meta charset="ISO-8859-1">
<title>JSON Test</title>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
$(function()
{
alert (1);
$.getJSON('data/sample.json', function(json)
{
alert(2);
});
});
</script>
</head>
<body>
<div id="datadiv">This is the info: </div>
</body>
</html>
я загрузить вышеуказанный файл на сервере Tomcat и может загрузить файл с помощью: http://myserver.com:8080/Html5_Test_1/jsonTest.html
. Вышеупомянутый код работает, и вызывается предупреждение (2). Однако, если я изменю путь, который я использую для getJSON, в /Html5_Test_1/data/sample.json, он не будет работать.
Я думаю, что /Html5_Test_1/data/sample.json является абсолютным путем для data/sample.json и должен работать. На самом деле я пробовал /data/sample.json, Html5_Test_1/data/sample.json, и никто не работает. Единственный путь, который работает, - data/sample.json.
Может ли кто-нибудь сказать мне, что не так? Абсолютный путь /Html5_Test_1/data/sample.json, безусловно, будет работать на Java. Итак, понятие абсолютного и относительного пути немного отличается от JavaScript?
Обратите внимание, что к файлу обращаются как открытый файл на сервере, а не как файл в локальной файловой системе.
Вы подтвердили, набрав адрес непосредственно в строке URL браузера (http: // localhost: 8080/Html5_Test_1/data/sample.json)? Если вы посмотрите на вкладке сети инструментов разработчика браузера, какой URL-адрес он пытается загрузить? – JJJ
Да, я подтвердил, что файл можно загрузить с помощью localhost: 8080/Html5_Test_1/data/sample.json. – user1888243
Хорошо, вы можете проверить фактическое содержимое запроса 'GET', когда вы указываете'/Html5_Test_1/data/sample.json'' в качестве URL-адреса? И сравните эту строку с той, которую отправил запрос '' data/sample.json''. – raina77ow