2

我目前正在为一个大学项目制作一个待办事项列表,我想采用一些 AJAX,但我也想让它以两种方式工作(纯 PHP 和 AJAX,如果 JavaScript 可用)。

在我的 PHP 方法中,我使用了一些嵌入的 HTML 代码(如<td>$value</td>)。在 AJAX 上,我想我会从 PHP 文件中去除 HTML,去掉打印结果部分,然后将其添加到 JavaScript(使用 jQuery)代码中,但这会使PHP 方法无法使用。

在我看到的 AJAX 示例中,处理数据的 PHP 文件不能再单独工作,如果没有 AJAX 端,也不会产生任何人性化的结果。所以我的问题是:你知道一个 AJAX 和 PHP 方法一起工作的例子吗,或者你能提供一个吗?

我希望我说清楚了,因为我不是以英语为母语的人。如果您需要澄清,请告诉我。

4

3 回答 3

2

我建议使用“智能”php 请求,其中输出取决于传递给 PHP 的参数。

以网页形式获取数据,只需向 php 文件发出请求index.php

但是要以 json 格式获取数据,请使用查询字符串发出相同的请求index.php?type=JSON

你的 php 必须有更多的逻辑,但它允许你从同一个地方以不同的格式请求相同的信息。这也将允许您扩展格式以包括 RSS、PDF(如果您有可用的文件)或其他任何内容。

于 2010-11-10T17:45:58.450 回答
1

好吧,您不需要剥离 HTML。

您可以使用 jQuery 加载功能。

加载函数允许您在结果中进行搜索。因此,如果您想使用 ajax 加载第 2 页的表格,您可以编写:

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

这可能会将第 1 页表替换为第 2 页表。

看看http://api.jquery.com/load/上的页脚导航示例

于 2010-11-10T17:35:15.113 回答
0

直接从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 回调可以很简单:

<?php

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

?>

尽管我建议非常仔细地研究JQuery 以满足任何 AJAX 需求。

于 2010-11-10T17:40:45.943 回答