PHP MVC Frameworks — Search Engine

PHP Ajax Tutorial with Example

AJAX full form is Asynchronous JavaScript & XML. It is a technology that reduces the interactions between the server and client. It does this by updating only part of a web page rather than the whole page.The asynchronous interactions are initiated by JavaScript.The purpose of AJAX is to exchange small amounts of data with server without page refresh.

JavaScript is a client side scripting language. It is executed on the client side by the web browsers that support JavaScript.JavaScript code only works in browsers that have JavaScript enabled.

XML is the acronym for Extensible Markup Language. It is used to encode messages in both human and machine readable formats. It’s like HTML but allows you to create your custom tags. For more details on XML, see the article on XML

Why use AJAX?

  • It allows developing rich interactive web applications just like desktop applications.
  • Validation can be performed done as the user fills in a form without submitting it. This can be achieved using auto completion. The words that the user types in are submitted to the server for processing. The server responds with keywords that match what the user entered.
  • It can be used to populate a dropdown box depending on the value of another dropdown box
  • Data can be retrieved from the server and only a certain part of a page updated without loading the whole page. This is very useful for web page parts that load things like
  • Tweets
  • Commens
  • Users visiting the site etc.

How to Create an PHP Ajax application

We will create a simple application that allows users to search for popular PHP MVC frameworks.

Our application will have a text box that users will type in the names of the framework.

We will then use mvc AJAX to search for a match then display the framework’s complete name just below the search form.

Читайте также:  Css does it support

Step 1) Creating the index page

     

PHP MVC Frameworks - Search Engine

Type the first letter of the PHP MVC Framework

Matches:

  • “onkeyup=”showName(this.value)”” executes the JavaScript function showName everytime a key is typed in the textbox.This feature is called auto complete

Step 2) Creating the frameworks page

 0) < $match = ""; for ($i = 0; $i < count($frameworks); $i++) < if (strtolower($name) == strtolower(substr($frameworks[$i], 0, strlen($name)))) < if ($match == "") < $match = $frameworks[$i]; >else < $match = $match . " , " . $frameworks[$i]; >> > > echo ($match == "") ? 'no match found' : $match; ?>

Источник

PHP — AJAX and PHP

The following example will demonstrate how a web page can communicate with a web server while a user type characters in an input field:

Example

Example Explained

In the example above, when a user types a character in the input field, a function called «showHint()» is executed. The function is triggered by the onkeyup event. Here is the HTML code:

Example

  • Create an XMLHttpRequest object
  • Create the function to be executed when the server response is ready
  • Send the request off to a PHP file (gethint.php) on the server
  • Notice that q parameter is added to the url (gethint.php?q=»+str)
  • And the str variable holds the content of the input field

The PHP File — «gethint.php»

The PHP file checks an array of names, and returns the corresponding name(s) to the browser:

// Array with names
$a[] = «Anna»;
$a[] = «Brittany»;
$a[] = «Cinderella»;
$a[] = «Diana»;
$a[] = «Eva»;
$a[] = «Fiona»;
$a[] = «Gunda»;
$a[] = «Hege»;
$a[] = «Inga»;
$a[] = «Johanna»;
$a[] = «Kitty»;
$a[] = «Linda»;
$a[] = «Nina»;
$a[] = «Ophelia»;
$a[] = «Petunia»;
$a[] = «Amanda»;
$a[] = «Raquel»;
$a[] = «Cindy»;
$a[] = «Doris»;
$a[] = «Eve»;
$a[] = «Evita»;
$a[] = «Sunniva»;
$a[] = «Tove»;
$a[] = «Unni»;
$a[] = «Violet»;
$a[] = «Liza»;
$a[] = «Elizabeth»;
$a[] = «Ellen»;
$a[] = «Wenche»;
$a[] = «Vicky»;

// get the q parameter from URL
$q = $_REQUEST[«q»];

// lookup all hints from array if $q is different from «»
if ($q !== «») $q = strtolower($q);
$len=strlen($q);
foreach($a as $name) if (stristr($q, substr($name, 0, $len))) if ($hint === «») $hint = $name;
> else $hint .= «, $name»;
>
>
>
>

// Output «no suggestion» if no hint was found or output correct values
echo $hint === «» ? «no suggestion» : $hint;
?>

Источник

Как использовать AJAX в PHP и jQuery

Sajal Soni

Sajal Soni Last updated Nov 27, 2021

Читайте также:  Запретить перенос строк html

Сегодня мы собираемся исследовать концепцию AJAX с PHP. Техника AJAX помогает вам улучшить пользовательский интерфейс вашего приложения и улучшить общее восприятие конечного пользователя.

Что такое AJAX?

AJAX расшифровывается как асинхронный JavaScript и XML и позволяет асинхронно извлекать контент с внутреннего сервера без обновления страницы. Таким образом, он позволяет обновлять содержимое веб-страницы без перезагрузки.

Давайте рассмотрим пример, чтобы понять, как вы можете использовать AJAX в повседневной разработке приложений. Скажем, вы хотите создать страницу, которая отображает информацию профиля пользователя, с различными разделами, такими как личная информация, социальная информация, уведомления, сообщения и так далее.

Обычный подход заключается в создании различных веб-страниц для каждого раздела. Так, например, пользователи кликают по ссылке социальной информации, чтобы перезагрузить браузер и отобразить страницу с социальной информацией. Это замедляет навигацию между разделами, поскольку пользователю приходится ждать перезагрузки браузера и повторного отображения страницы каждый раз.

С другой стороны, вы также можете использовать AJAX для создания интерфейса, который загружает всю информацию без обновления страницы. В этом случае вы можете отобразить разные вкладки для всех разделов, и, нажав на вкладку, он извлекает соответствующее содержимое с внутреннего сервера и обновляет страницу, не обновляя браузер. Это поможет вам улучшить общее восприятие конечного пользователя.

Общий вызов AJAX работает примерно так:

diagram of an AJAX call between client and server side

Давайте быстро пройдемся по обычному потоку AJAX:

  1. Сначала пользователь, как обычно, открывает веб-страницу синхронным запросом.
  2. Затем пользователь нажимает на элемент DOM — обычно кнопку или ссылку — который инициирует асинхронный запрос к серверу. Конечный пользователь не заметит этого, поскольку вызов выполняется асинхронно и не обновляет браузер. Однако вы можете распознать эти AJAX-вызовы с помощью такого инструмента, как Firebug.
  3. В ответ на запрос AJAX сервер может вернуть данные строки XML, JSON или HTML.
  4. Данные ответа анализируются с использованием JavaScript.
  5. Наконец, проанализированные данные обновляются в DOM веб-страницы.

Итак, как вы можете видеть, веб-страница обновляется данными в реальном времени с сервера без перезагрузки браузера.

В следующем разделе мы расскажем, как реализовать AJAX с использованием ванильного JavaScript.

Как AJAX работает с использованием Vanilla JavaScript

В этом разделе мы увидим, как AJAX работает в обычном JavaScript. Конечно, есть доступные библиотеки JavaScript, которые облегчают выполнение AJAX-вызовов, но всегда интересно знать, что происходит внутри.

Давайте посмотрим на следующий ванильный код JavaScript, который выполняет вызов AJAX и асинхронно получает ответ от сервера.

var objXMLHttpRequest = new XMLHttpRequest(); 
objXMLHttpRequest.onreadystatechange = function()  
if(objXMLHttpRequest.readyState === 4)  
if(objXMLHttpRequest.status === 200)  
alert(objXMLHttpRequest.responseText); 
alert('Error Code: ' + objXMLHttpRequest.status); 
alert('Error Message: ' + objXMLHttpRequest.statusText); 
objXMLHttpRequest.open('GET', 'request_ajax_data.php'); 

Давайте пройдемся по приведенному выше коду, чтобы понять, что происходит за кулисами.

  1. Сначала мы инициализируем объект XMLHttpRequest , который отвечает за выполнение вызовов AJAX.
  2. У объекта XMLHttpRequest есть свойство readyState , и значение этого свойства изменяется в течение жизненного цикла запроса. Оно может содержать одно из четырех значений: OPENED , HEADERS_RECEIVED , LOADING и DONE .
  3. Мы можем настроить функцию-обработчик для изменений состояния, используя свойство onreadystatechange . И это то, что мы сделали в приведенном выше примере: мы использовали функцию, которая будет вызываться каждый раз при изменении свойства состояния.
  4. В этой функции мы проверили, равно ли значение readyState 4 , что означает, что запрос завершен, и мы получили ответ от сервера. Затем мы проверили, равен ли код состояния 200 , что означает, что запрос был успешным. Наконец, мы получаем ответ, который хранится в свойстве responseText объекта XMLHttpRequest .
  5. После настройки обработчика мы инициируем запрос, вызывая метод open объекта XMLHttpRequest . Значение свойства readyState будет установлено равным 1 после этого вызова.
  6. Наконец, мы вызвали метод send объекта XMLHttpRequest , который фактически отправляет запрос на сервер. Значение свойства readyState будет установлено равным 2 после этого вызова.
  7. Когда сервер отвечает, он в конечном итоге установит значение readyState равным 4, и вы должны увидеть окно предупреждения, отображающее ответ от сервера.

Вот как AJAX работает с ванильным JavaScript. Конечно, это был очень простой пример для демонстрации концепции AJAX, и в реальном приложении все может быть довольно сложно, так как вам нужно обработать многие различные сценарии успеха и неудач. Таким образом, было бы неплохо выбрать библиотеку JavaScript, которая скрывает специфические сложности браузера!

В следующем разделе мы увидим, как использовать библиотеку jQuery для выполнения вызовов AJAX.

Как работает AJAX с использованием библиотеки jQuery

В предыдущем разделе мы обсуждали, как можно выполнять вызовы AJAX, используя ванильный JavaScript. В этом разделе мы будем использовать библиотеку jQuery, чтобы продемонстрировать это. Я предполагаю, что вы знаете основы библиотеки jQuery.

Библиотека jQuery предоставляет несколько различных методов для выполнения вызовов AJAX, хотя здесь мы рассмотрим стандартный метод ajax , который используется чаще всего.

Посмотрите на следующий пример.

Источник

Оцените статью