2014-11-27 8 views
2

это мой код в index.htmli18next Ошибка загрузки JSON (404 Not Found)

<html> 

<head> 
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/> 
    <script src="javascript/jquery-1.11.1.min.js" type="text/javascript"></script> 
    <script src="javascript/i18next-1.7.4.js" type="text/javascript"></script> 

    <title>i18next test</title> 
</head> 

<body> 
    <p id="id001" data-i18n="first_data">first</p> 
</body> 

<script type="text/javascript"> 

$(document).ready(function(){ 
    language_complete = navigator.language.split("-"); 
    language = (language_complete[0]); 

    i18n.init({ 
    lng: language, 
    resGetPath: 'locales/__lng__.json', 
    fallbackLng: "en", 
    }, function(){ 
    $("first_data").i18n(); 
    }); 

}); 
</script> 

</html> 

И я создал 2 JSon файл в том же каталоге с index.html

locales/en.json 
locales/de.json 

JSON содержимое файла:

{ 
    "first_data": "de-first-data" 
} 

Firefox попытается загрузить de.json и en.json, но получаю ошибку 404. enter image description here

У вас есть идеи, почему i18next не может загрузить json-файл.

Это моя структура папок ниже:

index.html 
locales/de.json 
locales/en.json 
javascript/i18next-1.7.4.js 
javascript/jquery-1.11.1.min.js 

ответ

2

Вы размещаете заявку в IIS. IIS по умолчанию (насколько мне известно) не поддерживает тип файла JSON.

Следующий вопрос связан с той же проблемой: ERROR 404.3 Not Found for JSON file

+0

Спасибо, драк за помощь. Json-файл может быть правильно загружен настройкой IIS для поддержки json. Я попытался заменить '$ ("first_data"). I18n();' to '$ ("# first_data"). i18n();' и '$ ('. i18n '). i18n();' Но данные data-i18n по-прежнему не могут быть заменены переводом в соответствующем файле, отличном от EN json. – ybdesire

+0

Вы должны использовать правильный селектор, элемент, который вы хотите перевести, имеет id 'id001', поэтому $ ("# id001"). I18n() будет правильным вызовом для этого случая. – drax

+0

Отлично! Меня устраивает. Большое спасибо за помощь, дракс! – ybdesire

0

Пытались ли вы с?

resGetPath: 'javascript/locales/__lng__.json', 
+0

Спасибо Aston за ответ. Обратитесь к моей структуре папок при обновлении. – ybdesire

+0

Я попробовал, но все еще получаю ошибку 404. Я смущен, почему существует json не может быть загружен! Обратитесь к моей структуре папок при обновлении. – ybdesire

+0

У вас есть предложения по этой проблеме? @Aston – ybdesire

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