2016-09-24 2 views
0

добрый день. Я разрабатываю приложение, которое может получить JSON из local (manifest.json). Я хочу получить этот файл с JavaScript, а затем прочитать его. Но у меня проблема, я не могу назвать этот файл. Как я могу?Получите JSON от локального JavaScript

var urlJSON = new XMLHttpRequest("manifes.json").toString; 
var dataJSON = JSON.parse(urlJSON); 

alert(dataJSON.name); 
+0

Сначала сделать 'console.log (urlJSON)', чтобы увидеть, что на самом деле содержит эту переменную. –

+0

Я считаю, что ваше правописание для имени файла неверно. Var urlJSON = new XMLHttpRequest ("manifest.json"). ToString; ' –

+0

Это не то, как вы используете' XMLHttpRequest', [Using XMLHttpRequest] (https: //developer.mozilla. орг/EN-US/Docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest). И что вы подразумеваете под «местным»? Жесткий диск пользователя? Это невозможно сделать, если пользователь не выберет его через какой-то процесс, например, файл ввода –

ответ

2
var xmlhttp = new XMLHttpRequest(); 
var url = 'manifest.json'; 
xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
    console.log(JSON.parse(xmlhttp.responseText)); 
    } 
    if (xmlhttp.status == 404) {} 
}; 
xmlhttp.open('GET', url, true); 
xmlhttp.send(); 

Или запустить хром с аргументами --allow-file-access-from-files
Или скачать и создать сервер для приложения

+0

Но это не сработает, код ничего не делает. –

+0

В нем говорится: «XMLHttpRequest не может загрузить файл: /// C: /Users/ferna/Desktop/The%20pong/manifest.json. Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https , chrome-extension-resource ". –

Смежные вопросы