PomidorkaSu Опубліковано: 29 серпня 2015 Share Опубліковано: 29 серпня 2015 Как передать с сервака что-нибудь (хоть hello world) в формате json при нажатии на кнопку (ajax-ом)?Вообще не могу понять пути и т.д. в opencart-e. Подскажите пожалуйста. Надіслати Поділитися на інших сайтах More sharing options...
ZeroHero Опубліковано: 29 серпня 2015 Share Опубліковано: 29 серпня 2015 Ну, для примера, делаем контроллер: создаём папку catalog/controller/hello_world, в папке создаём файл hello_world.php, в файл пишем следующее: <?php class ControllerHelloWorldHelloWorld extends Controller { public function index() { $this->response->addHeader('Content-Type: application/json; charset=UTF-8'); $this->response->setOutput(json_encode(array( 'response' => 'Hello, World!' ))); } } потом в шаблоне делаем кнопку и пишем скрипт для обработки нажатий на эту кнопку: <script> function doSomething() { jQuery.get('/index.php?route=hello_world/hello_world', function(data){ console.log(data); }, 'json'); } </script> <button type="button" onclick="doSomething();">Нажми меня</button> Открываем консоль браузера, нажимаем на кнопку и видим ответ. Вот, как-то так. Надіслати Поділитися на інших сайтах More sharing options...
PomidorkaSu Опубліковано: 2 вересня 2015 Автор Share Опубліковано: 2 вересня 2015 (змінено) Ну, для примера, делаем контроллер: создаём папку catalog/controller/hello_world, в папке создаём файл hello_world.php, в файл пишем следующее: <?php class ControllerHelloWorldHelloWorld extends Controller { public function index() { $this->response->addHeader('Content-Type: application/json; charset=UTF-8'); $this->response->setOutput(json_encode(array( 'response' => 'Hello, World!' ))); } } потом в шаблоне делаем кнопку и пишем скрипт для обработки нажатий на эту кнопку: <script> function doSomething() { jQuery.get('/index.php?route=hello_world/hello_world', function(data){ console.log(data); }, 'json'); } </script> <button type="button" onclick="doSomething();">Нажми меня</button> Открываем консоль браузера, нажимаем на кнопку и видим ответ. Вот, как-то так. Хмм, значит проблема где-то ещё... Сделал так, как вы написали - выдало Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://блабла/index.php?route=hello_world/hello_world. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin'). З.ы. А если www убрать, что я думаю он воспринимает как кросс домен, то ничего. Ни ошибки ни привета. Просто по нажатию на кнопку ругается на то, что метод getPreventDefault() является устаревшим, но вроде как use strict не писал, так что должно работать. Змінено 2 вересня 2015 користувачем PomidorkaSu Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 2 вересня 2015 Share Опубліковано: 2 вересня 2015 погуглите Access-Control-Allow-Origin или же просто убедитесь, что домены отправителя и получателя ajax запросов совпадают Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 2 вересня 2015 Автор Share Опубліковано: 2 вересня 2015 погуглите Access-Control-Allow-Origin или же просто убедитесь, что домены отправителя и получателя ajax запросов совпадают Почитал, но на самом деле это понятно. Проблема с этим решается простой подстановкой пути или переменной с доменом. Однако ничего не отображается. Вернее не отображалось в консоли. Я убрал ожидание json формата и увидил такой сюрприз. <b>Fatal error</b>: Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> on line <b>39</b><br /> С какого перепуга оно лезет в систему opencarta искать этот класс вообще не понятно. Может быть я что-то делаю не так? Но я просто нигде не указывал вообще классов никаких. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 2 вересня 2015 Share Опубліковано: 2 вересня 2015 Ну, для примера, делаем контроллер: создаём папку catalog/controller/hello_world, в папке создаём файл hello_world.php, в файл пишем следующее: <?php class ControllerHelloWorldHelloWorld extends Controller { а это что по вашему? Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 а это что по вашему? Фуф, спасибо огромное) Понял) Оно ещё и по всему дереву ищет контролер. Разобрался теперь Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js jQuery.get('/index.php?route=hello_world/hello_world', function(data){ Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 про политику одного источника - это у вас сайт доступен с www и без www, сделайте редирект на что-то одно отличный живой пример по ajax - посмотреть исходный код например как реализована генерация номера счета (инвойс) при просмотре заказа в admin/view/template/sale/order_info.tpl Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js Так а если он не ищет, то с какого перепуга он в папку системс позел, а когда я правильный путь папки сделал, то полез в которую нужно. Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> По моему конкретно отображается наследование классов контроллеров. з.ы. если бы не искал - было бы "D:\inetpub\vhosts\DOMEN.NET\httpdocs\controler\helo_world\helo.php Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] AJAX пример Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
PomidorkaSu Опубліковано: 2 вересня 2015 Автор Share Опубліковано: 2 вересня 2015 погуглите Access-Control-Allow-Origin или же просто убедитесь, что домены отправителя и получателя ajax запросов совпадают Почитал, но на самом деле это понятно. Проблема с этим решается простой подстановкой пути или переменной с доменом. Однако ничего не отображается. Вернее не отображалось в консоли. Я убрал ожидание json формата и увидил такой сюрприз. <b>Fatal error</b>: Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> on line <b>39</b><br /> С какого перепуга оно лезет в систему opencarta искать этот класс вообще не понятно. Может быть я что-то делаю не так? Но я просто нигде не указывал вообще классов никаких. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 2 вересня 2015 Share Опубліковано: 2 вересня 2015 Ну, для примера, делаем контроллер: создаём папку catalog/controller/hello_world, в папке создаём файл hello_world.php, в файл пишем следующее: <?php class ControllerHelloWorldHelloWorld extends Controller { а это что по вашему? Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 а это что по вашему? Фуф, спасибо огромное) Понял) Оно ещё и по всему дереву ищет контролер. Разобрался теперь Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js jQuery.get('/index.php?route=hello_world/hello_world', function(data){ Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 про политику одного источника - это у вас сайт доступен с www и без www, сделайте редирект на что-то одно отличный живой пример по ajax - посмотреть исходный код например как реализована генерация номера счета (инвойс) при просмотре заказа в admin/view/template/sale/order_info.tpl Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js Так а если он не ищет, то с какого перепуга он в папку системс позел, а когда я правильный путь папки сделал, то полез в которую нужно. Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> По моему конкретно отображается наследование классов контроллеров. з.ы. если бы не искал - было бы "D:\inetpub\vhosts\DOMEN.NET\httpdocs\controler\helo_world\helo.php Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] AJAX пример Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut
PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 а это что по вашему? Фуф, спасибо огромное) Понял) Оно ещё и по всему дереву ищет контролер. Разобрался теперь Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js jQuery.get('/index.php?route=hello_world/hello_world', function(data){ Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 про политику одного источника - это у вас сайт доступен с www и без www, сделайте редирект на что-то одно отличный живой пример по ajax - посмотреть исходный код например как реализована генерация номера счета (инвойс) при просмотре заказа в admin/view/template/sale/order_info.tpl Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js Так а если он не ищет, то с какого перепуга он в папку системс позел, а когда я правильный путь папки сделал, то полез в которую нужно. Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> По моему конкретно отображается наследование классов контроллеров. з.ы. если бы не искал - было бы "D:\inetpub\vhosts\DOMEN.NET\httpdocs\controler\helo_world\helo.php Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] AJAX пример
AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 про политику одного источника - это у вас сайт доступен с www и без www, сделайте редирект на что-то одно отличный живой пример по ajax - посмотреть исходный код например как реализована генерация номера счета (инвойс) при просмотре заказа в admin/view/template/sale/order_info.tpl Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js Так а если он не ищет, то с какого перепуга он в папку системс позел, а когда я правильный путь папки сделал, то полез в которую нужно. Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> По моему конкретно отображается наследование классов контроллеров. з.ы. если бы не искал - было бы "D:\inetpub\vhosts\DOMEN.NET\httpdocs\controler\helo_world\helo.php Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
PomidorkaSu Опубліковано: 3 вересня 2015 Автор Share Опубліковано: 3 вересня 2015 никто ничего не ищет какой контроллер вызывать указано в js Так а если он не ищет, то с какого перепуга он в папку системс позел, а когда я правильный путь папки сделал, то полез в которую нужно. Class 'Controllerhelloworldhello' not found in <b>D:\inetpub\vhosts\DOMEN.NET\httpdocs\system\engine\front.php</b> По моему конкретно отображается наследование классов контроллеров. з.ы. если бы не искал - было бы "D:\inetpub\vhosts\DOMEN.NET\httpdocs\controler\helo_world\helo.php Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 3 вересня 2015 Share Опубліковано: 3 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера Надіслати Поділитися на інших сайтах More sharing options... PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
PomidorkaSu Опубліковано: 4 вересня 2015 Автор Share Опубліковано: 4 вересня 2015 ..system\engine\front.php здесь магическим образом происходит обработка ;) сослался именно на файл движка, который и не нашел указанного контроллера )) этот код компилировал дэвид блейн... Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts