Я разрабатываю сайт с помощью codeigniter.I имеет форму, которая содержит кнопку добавления и текстовое поле. как только пользователь вводит данные, я должен проверить, существует ли он в базе данных, если да, то создайте динамическое текстовое поле в оповещении пользователя страницы. Я написал javascript для генерации динамического текстового поля. Мой вопрос – как проверить базу данных ??? как вызвать контроллер из javascript или вызвать функцию javascript с контроллера ???
Это на самом деле намного проще, чем вы ожидаете. И вы начнете использовать это в своих разработках, как только увидите, как это здорово!
Итак, сначала – мы собираемся использовать встроенную функцию POST для jQuery.
Создайте функцию внутри вашего контроллера, к которой вы хотите получить доступ, мое предложение – префикс имени функции с помощью «ajax_»
Итак, вот пример функции контроллера:
function ajax_lookUpUsername(){ $username = $this->input->post('username'); $this->db->where('username', $username); $query = $this->db->get('accounts'); if ($query->num_rows() > 0){ echo 0; } else { echo 1; } }
и вот ваша простая функция javascript onclick:
function lookUpUsername(name){ $.post( 'http://yourwebsite/controller/ajax_lookUpUsername', { username: name }, function(response) { if (response == 1) { alert('username available'); } else { alert('username taken'); } } ); }
второй параметр { username: name }
– это то место, куда будут отправляться ваши значения в почтовых сообщениях, термин «имя пользователя» здесь – это ключ, имя – это значение, переданное в. Таким образом, это пара слов-значение post, которая обычно отправляется с сообщением сообщение.
response
переменной, передаваемый в функцию обратного вызова, – это эхо, возвращаемое вашим контроллером. Общение стало очень простым.
Простота потрясающая, в то время как я только имел дело с возвратом php 0 или 1, вы можете вернуть очень продвинутые объекты json, с которыми вы можете подключить всю внешнюю программу.
Для более продвинутых ответов вы можете эхом от вашего массива контроллера следующим образом:
echo json_encode($array_of_data);
и это вернет вам идеальный набор данных json, который вы можете использовать с любым объектно-ориентированным подходом. Я использую это allover, вы скоро тоже убедитесь, что 🙂
Удачи чувак! Не стесняйтесь связываться с любыми вопросами о расширении ответов после простых 0 или 1 эхо
Вы можете сделать это, сделав ajax-вызов на php-страницу на сервере, которая проверяет наличие данных в db. Если вы используете jquery, вы можете сделать это проще, здесь вы можете найти очень хорошие примеры: http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls -с-JQuery /
Если вы этого не сделаете, вы можете сделать это в любом случае, с несколькими строками кода.