Работа с ненавязчивым AJAX - PullRequest
2 голосов
/ 10 ноября 2010

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

В моем подходе PHP я использую некоторый встроенный HTML-код (например, <td>$value</td>). В AJAX, я думаю, я бы удалил HTML из файла PHP, возьмураспечатывать результаты частично, и я бы просто добавил его в код JavaScript (с jQuery), но это сделало бы непригодным подход pure PHP.

С примерами AJAX, которые я виделPHP-файл, который обрабатывает данные, больше не может работать в автономном режиме и не даст никаких удобных для человека результатов, если бы не AJAX-сторона.Итак, мой вопрос: знаете ли вы рабочий пример совместного подхода AJAX и PHP, или вы могли бы предоставить его, пожалуйста?

Надеюсь, я дал понять, поскольку я не являюсь носителем английского языка.,Если вам нужны разъяснения, пожалуйста, дайте мне знать.

Ответы [ 3 ]

2 голосов
/ 10 ноября 2010

Я бы предложил использовать «умные» php-запросы, когда вывод зависит от параметров, передаваемых в PHP.

, чтобы получить данные в виде веб-страницы, просто сделайте запрос в php-файл index.php

но чтобы получить данные как json, сделайте тот же запрос, используя строку запроса index.php?type=JSON

Ваш php должен будет иметь немного больше логики, но он позволяет вам запрашивать ту же информациюиз того же места в другом формате.Это также позволит вам расширить форматы для включения RSS, PDF (если у вас есть доступный файл) или чего-либо еще.

1 голос
/ 10 ноября 2010

Ну, вам не нужно разбирать HTML.

Вы можете использовать функцию загрузки jQuery.

Функция загрузки позволяет выполнять поиск по результату. Поэтому, если вы хотите загрузить таблицу страницы 2 с помощью ajax, вы можете написать:

$("#myTableContainer").load("mypage.php?page=2 #myTable");

Это может заменить таблицу страницы 1 таблицей страницы 2.

Посмотрите на пример навигации нижнего колонтитула на http://api.jquery.com/load/

0 голосов
/ 10 ноября 2010

Используя тебя, следуя непосредственно из w3schools :

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

Ваш php callback может быть чем-то простым:

<?php

  header('Content-Type: text/plain');
  echo "Hello World";

?>

Хотя я рекомендовал очень внимательно посмотреть на JQuery для любых нужд AJAX.

...