Как убедиться, что путь в вызове автозаполнения jQuery к контроллеру / действию CakePHP разрешается правильно? - PullRequest
0 голосов
/ 26 мая 2009

У меня есть стек CakePHP в / var / www / site

из одного вида под контроллером A Я делаю вызов jquery ajax:

$("#searchstring").autocomplete("/items/getitemsforautocomplete", {  ... more code

когда вызов срабатывает, я вижу из firebug, что cakephp хочет позвонить:

http://localhost/items/getitemsforautocomplete?q=me

Обратите внимание, что "site" отсутствует, что приводит к 404.

Когда я загружаю это на свой сайт, оно работает так, как должно. Как мне правильно это настроить ??

Ответы [ 3 ]

0 голосов
/ 26 мая 2009

Попробуйте использовать FULL_BASE_URL в вашем JS, например:

$("#searchstring").autocomplete("<?= FULL_BASE_URL ?>/items/getitemsforautocomplete", {

Не самый элегантный способ, но он решил некоторые мои головные боли в прошлом.

0 голосов
/ 26 мая 2009

это, скорее всего, связано с уровнем вызова, сделанного из jquery. http://localhost/items/... правильный URL?

Неиспользуемый html-тег, который действительно хорош, устанавливает базовую ссылку. тогда все ссылки и вызовы JavaScript сделаны из этого.

<base href="http://localhost/site/">

затем просто удалите начальный '/' из вашего скрипта

$("#searchstring").autocomplete("items/getitemsforautocomplete", {  ... more code
0 голосов
/ 26 мая 2009

Разве '/' не идет в корневой каталог сайта? Если ваш файл javascript находится в / var / www / site / script, вы можете сделать следующее:

$("#searchstring").autocomplete("../items/getitemsforautocomplete", {  ... more code }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...