Я использую Codeigniter с библиотекой i18n для создания многоязычного веб-сайта.Я следовал этому руководству , и оно отлично работает.
Проблема, по-видимому, существует на страницах, где мне приходится выполнять вызовы ajax, в jQuery, через $.getJson
.
* 1007.*
В этом фрагменте кода, например, в консоли просто выводится «1».Используя Firebug, я вижу, что URL-адреса для вызовов get выглядят так:
GET http://localhost/website/photos/change_product?product_id=1
GET http://localhost/website/en/photos/change_product
Я попытался отключить библиотеку, и страница работала как надо, поэтому я почти уверен, что есть конфликт с этой библиотекой,но я не знаю, с чего начать.Любое предложение?
РЕДАКТИРОВАТЬ: Я частично решил это.По крайней мере, я нашел обходной путь.Кажется, что я должен использовать функцию site_url()
внутри javascript, чтобы она создала правильную ссылку, как объяснено в вики библиотеки.Очевидно, что я не могу использовать функцию php внутри javascript-файла, поэтому в view
перед загрузкой скрипта я написал следующее:
<script type="text/javascript">
var siteurl = "<?=dirname(site_url('a'))?>";
И теперь у меня есть путь к префиксу везде, где он мне нужен.Это просто немного некрасиво.Как вы думаете, есть ли лучший способ сделать это?