Intereting Posts
Регулярное выражение в PHP: как создать шаблон для таблиц в html phpMyAdmin: «URI слишком большой» PHP: обрезать текст на границах слов Карты Google – панорамирование и масштабирование по областям – маркеры не появляются при увеличении или панорамировании – ПОМОЩЬ! Как сделать URL-адрес с расширением без ссылки на PHP-сайт? Архитектура плагина php Получить идентификатор URL-адреса Какой тип хэша использует WordPress? phag pagination для результата поиска, который не отображается Недействительный месяц в oracle при использовании add_months Javascript NoGray Календарь наследует следующую доступную дату после того, как выбранные заблокированные даты, если сегодня заблокирован Как я могу использовать класс APP CakePHP для загрузки XML-файлов из URL-адреса? Есть ли инструмент для преобразования Java, JavaScript или Python в PHP? Многие финалисты в одной форме yii2 Ошибка Php – Ожидаемая ожидаемая функция require_once

XMLhttpRequest> PHP> XMLhttpRequest

У меня есть еще один вопрос. XMLhttpRequests преследуют меня. Теперь все в базе данных, но мне нужны эти данные для обновления моей страницы при загрузке или перезагрузке страницы. XHR запускается в файле JavaScript, который запускает PHP-Script. PHP-Script доступ к базе данных MySQL. Но как получить возвращенные записи обратно в мой JavaScript для обновления страницы. Я не могу разобраться.

Сначала мой синхронный XMLhttpRequest:

function retrieveRowsDB() { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","retrieveRowData.php", false); xmlhttp.send(null); return xmlhttp.responseText; } 

Тогда мой PHP-Script:

 <?php $con = mysql_connect("localhost","root","*************"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("sadb", $con); $data="SELECT * FROM users ORDER BY rowdata ASC"; if (!mysql_query($data,$con)) { die('Error: ' . mysql_error()); } else { $dbrecords = mysql_query($data,$con); } $rowdata = mysql_fetch_array($dbrecords); return $rowdata; mysql_close($con); ?> 

Что мне здесь не хватает? Кто-нибудь понял?

До сих пор с вашим кодом не так много технически неправильно – вам просто нужно что- то с этим делать .

В вашем PHP-файле вместо return $rowdata; , вам нужно вывести его каким-то образом. В настоящее время он просто отправляет пустой документ обратно в javascript, поэтому вам нужно будет отбросить код. Как правило, при использовании нескольких объектов, подлежащих возврату в javascript, JSON является хорошим форматом. Проверьте json_encode .

С другой стороны, в js, вам нужно будет принять ответ и обновить страницу в некотором роде. В настоящее время вы просто возвращаете его снова.

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

PHP-скрипты не return к JavaScript. Вы должны echo -данные (закодированные каким-то образом, например json_encode ).

Действительно, если вы делаете какой-либо ajax, вы значительно облегчите свою жизнь, используя библиотеку ajax .

Проблема заключается в xmlhttp.responseText , она не существует в то время, попробуйте добавить это непосредственно перед оператором return:

 xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState === 4 && xmlhttp.status === 200) { doSomething(xmlhttp.responseText); } } } 

В основном вам нужно подождать, пока данные будут доступны, требуется время для запроса HTTP и получения ответа.