Intereting Posts
Как chmod папка, чтобы сделать ее доступной для записи на сервере в php Как подсчитать количество строк в Zend Framework 2 Почему я получаю ошибку даже после правильного определения пространств имен? Isset vs array_key_exists Как я могу установить CURLOPT_CAINFO глобально для PHP в Windows? Расширение базового класса Codeigniter – 404 Ошибка Конкатенация HTML и PHP в строке URL Как получить расширение файла? Замена ] ссылкой на мою wiki Завершение кода Eclipse PDT + не работает вообще Проблемы с отношениями с базой данных с картой symfony – Не удается получить Табличную карту для неопределенной таблицы Как получить полный путь к файлу Yii – динамическое изменение правил с контроллера Измените эту функцию js так, чтобы она использовала значение, полученное из db вместо значений, указанных в массиве, для генерации опций Select Как зарегистрировать пользователя на ejabbered, используя php-код

Основные PHP и AJAX

У нас есть большая система PHP, которую я меняю на ООП и хочу использовать AJAX для обновления веб-страниц для зарегистрированных пользователей. Я полностью самоучкой и хорошо разбираюсь в HTML, CSS и PHP с базовым пониманием Javascript.

Попытка изучить AJAX с PHP поражает меня. Попробовав самодельный набор скриптов для тестирования AJAX, который не сработает, я тогда приведу в Интернет примеры и не могу заставить их работать. Это на моем развитии Mac работает с MAMP и использует мой хост, где мы храним текущую систему.

Мой вопрос заключается в том, что у кого-то есть простой набор скриптов HTML и PHP «hello world», которые они знают, что я могу попытаться подтвердить, что я могу запустить что-то известное.

Большое спасибо Colin

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

Это действительно так же просто, как создание PHP-страницы с именем hello.php

<?php echo "Hello World"; ?> 

Затем на главной странице вам нужно будет захватить библиотеку jQuery и подключить ее к событию готовности документа.

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $.get("hello.php", function(data){ alert(data); }); }); </script> 

Это, по сути, самый простой учебник AJAX hello world, который я знаю 🙂

Нет, не очень, но я бы рекомендовал вам использовать jQuery, если вы собираетесь делать какой-либо аякс вообще. Это сделает вашу жизнь намного проще.

Тем более, что все браузеры не реализуют вещи ajax одинаково.

пример приложения с использованием jQuery + PHP для вызовов ajax:

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

receiver.php:

 <?php echo 'you just received me, I\'m some PHP code and ajax is definitely working...'; ?> 

sender.html:

 <p>Hello, click this button: <a id="button" href="receiver.php">Click me</a></p> <p id="container"><!-- currently it's empty --></p> <!-- including jQuery from the google cdn --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> // This is our actual script $(document).ready(function(){ $('a#button').click(function(){ $.ajax({ url: this.href, type: 'GET', dataType: 'html', success: function (data) { $('#container').html(data); } }); }); }); </script> 

Это должно быть все, что вам нужно для базового приложения ajax …

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

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

form.php

 <html> <head> <title>Simple JQuery Post Form to PHP Example</title> </head> <body> <!-- including jQuery from the google cdn --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"> </script> <!-- This div will be populated with error messages --> <div id="example_form_error"></div> <!-- This div will be populated with success messages --> <div id="example_form_success"></div> <!-- Here is your form --> <div id="example_form_enter"> <form id="contact_modal_form" method='post' action='form_post.php'> <label for="Name">Enter Your Name (Not "Adam"):</label> <input class='textbox' name='Name' type='text' size='25' required /> <button class='contact_modal_button' type='submit'>Send</button> </form> </div> <!-- This div contains a section that is hidden initially, but displayed when the form is submitted successfully --> <div id="example_form_confirmation" style="display: none"> <p> Additional static div displayed on success. <br> <br> <a href="form.php">Try Again</a> </p> </div> <!-- Below is the jQuery function that process form submission and receives back results --> <script> $(function() { $("#contact_modal_form").submit(function(event) { var form = $(this); $.ajax({ type: form.attr('method'), url: form.attr('action'), data: form.serialize(), dataType: 'json', success: function(data) { if(data.error == true) { var error = $("#example_form_error"); error.css("color", "red"); error.html("Not " + data.msg + ". Please enter a different name."); } else { $("#example_form_enter").hide(); $("#example_form_error").hide(); $("#example_form_confirmation").show(); var success = $("#example_form_success"); success.css("color", "green"); success.html("Success! You submitted the name " + data.msg + "."); } } }); event.preventDefault(); }); }); </script> </body> </html> 

form_post.php

 <?php // Request Post Variable $name = $_REQUEST['Name']; // Validation if($name == 'Adam') { echo json_error($_REQUEST['Name']); } else { echo json_success($_REQUEST['Name']); }; // Return Success Function function json_success($msg) { $return = array(); $return['error'] = FALSE; $return['msg'] = $msg; return json_encode($return); } // Return Error Function function json_error($msg) { $return = array(); $return['error'] = TRUE; $return['msg'] = $msg; return json_encode($return); } ?>