2010-11-10 79 views
2

我目前正在为一个大学项目制作一个ToDo列表,并且我想采用一些AJAX,但我也想使它工作在两种方式(纯PHP和AJAX,如果有JavaScript的话)。使用不显眼的AJAX

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

通过我见过的AJAX示例,处理数据的PHP文件不能再单独使用工作,如果不是AJAX方面的话,不会产生任何人性化的结果。所以我的问题是:你知道一个AJAX和PHP方法的实例吗?或者你可以提供一个吗?

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

+0

我认为这是我的错,当问,因为你的答案不是我要找的。我试图混合两个问题,这就是问题所在。无论如何,我真的只是寻找如何使Web应用程序与两种选择工作的建议:仅PHP和AJAX。首先,就好像用户根本没有JavaScript一样,其次,如果它确实启用了JavaScript的话。谢谢,对于误解抱歉。 – 2010-11-19 17:49:34

回答

2

我会建议使用'聪明'的PHP请求,其输出依赖于传递给PHP的参数。

得到的数据作为网页,只要到PHP文件index.php

,但得到的数据作为JSON的请求,使用查询字符串提出同样的要求index.php?type=JSON

你的PHP必须有多一点逻辑,但它允许你以不同的格式从同一地点请求相同的信息。这也可以让你扩展格式,包括RSS,PDF(如果你有文件可用)或其他任何东西。

+0

这是我要求的一种逻辑,是的。有些人可以使用和不使用JavaScript。谢谢! – 2011-04-21 04:28:09

1

那么你不需要去除HTML。

您可以使用jQuery加载函数。

加载函数允许您在结果中搜索。 所以,如果你想加载2页的表格与阿贾克斯你可以写:

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

这可能与2页表取代第1页表。

看看页脚导航例如在http://api.jquery.com/load/

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需求。