Intereting Posts
Отношение доктрины Как вы генерируете случайное число по 32-битовому пределу в PHP? Отправка данных с PHP-скрипта на C # applicationicaon Почему завершение кода Eclipse не работает над некоторыми проектами? Как разместить две формы на одной странице? Запустить php-файл в окнах CMD CKEditor + Yii, загруженный AJAX: $ _POST не содержит обновленного значения как узнать, работают ли PHP и sendmail вместе? Строгая стандартная ошибка при загрузке изображения с помощью скрипта PHP добавить значение ключа в массив 2 текстовых файла автозаполнения с данными из 2 таблиц PHP cURL требуется только для отправки и не ждать ответа Как получить datetime в словах, таких как «сегодня», «вчера» или «25 минут назад»? При использовании Kohana DB, как избежать дублирования кода при необходимости подсчета для разбивки на страницы? Обновить значения из таблицы MYSQL без перезагрузки страницы?

Простой сценарий ajax для отображения имени книги

Я начал изучать Ajax, и я сделал эту простую HTML-страницу, которая отображает ввод пользователя, когда он набирает имя книги (хранится в массиве в php-файле), используя ajax, пользователь может видеть ниже входных результатов, пока он типы, это та часть, которую я не мог сделать, Вот код:

<!DOCTYPE html> <html> <head> <script type="text/javascript" src="bookstore.js"></script> <link rel="stylesheet" href="style.css"> </head> <body onload="process()"> <h1> Hadhemi's BookStore ! </h1> Enter the book you want to order <input type="text" id="userInput"> <div id="underInput"> </div> </body> </html> 

И это JS-файл

 // 3 functions : create an object, communicate and response var xmlHttp=createXmlHttpRequestObject(); function createXmlHttpRequestObject() { var xmlHttp; if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //check for IE } catch (e) { xmlHttp = false; } } else { try { xmlHttp = new XMLHttpRequest(); // ! IE } catch (e) { xmlHttp = false; } } if (!xmlHttp) alert("Can't Create that object"); else return xmlHttp; } function process() { if(xmlHttp.readyState==0 || xmlHttp.readyState==4) { book = encodeURIComponent(document.getElementById("userInput").value); xmlHttp.open("GET","book.php?book=" + book,true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else { setTimeout('process()',1000); } } function handleServerResponse() { //sends back an xml file if (xmlHttp.readyState==4) { if(xmlHttp.status==200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement=xmlResponse.documentElement; message = xmlDocumentElement.firstChild.data; document.getElementById("underInput").innerHTML= message; setTimeout('process()',1000); } else { alert("OOps! Something went wrong!"); } } } 

И это файл PHP:

  <?php header('Content-Type: text/xml'); echo '<?xml version="1.0" enconding="UTF-8" standalone="yes" ?>'; echo'<response>'; $book = $_GET['book']; $bookArray = array('Book1','Book2','Book3'); if(in_array($book, $bookArray)) echo 'We do have'.$book.'!'; elseif ($book='') echo 'Enter a book name idiot!'; else echo 'We dont have'.$book.'!'; echo'</response>'; ?> 

Я не могу показать, что должен делать JS-файл, кто-нибудь знает, как его исправить?

EDIT: я поместил все файлы в папку www под Wamp.

Related of "Простой сценарий ajax для отображения имени книги"

В том, что вы опубликовали, есть несколько ошибок.

Во-первых, у вас есть опечатка в:

 echo '<?xml version="1.0" enconding="UTF-8" standalone="yes" ?>'; ^ the "n" 

Который должен читать как encoding .

Наличие ошибок, которые будут отображаться на вашем сервере, вызвало бы следующее:

Ошибка анализа XML: объявление XML не является корректным. Место: http://www.example.com/book.php?book.php?book= Номер строки 1, столбец 21:

Плюс, имейте в виду, что, и, как я сказал в комментариях, что Book1 и Book1 не обрабатываются одинаково, поэтому ключи массива считаются чувствительными к регистру.

Проконсультируйтесь со следующим ответом на Stack:

Вы также выполняете задание при использовании одного знака равенства:

 elseif ($book='') ^ 

а не сравнение, которое должно содержать дополнительный знак равенства:

 elseif ($book=='') ^^ 

Рекомендации:

Кроме того, убедитесь, что PHP действительно установлен, работает и правильно настроен.