在AJAX检索的HTML中获取GET请求

时间:2010-03-14 18:52:30

标签: html ajax

由于AJAX请求/响应,页面上会出现一些HTML代码。此HTML包含对另一个PHP脚本的GET请求。包含此请求的链接不起作用,而“真实”HTML(手动页面上添加)正常工作。

当我用Ctrl + U打开页面源时,我看到空div(但实际上它们通过AJAX检索到HTML)并且手动添加了完整的HTML代码。无法弄清楚如何使AJAX检索的链接正常工作。

这就是我尝试构建HTML代码的方式,这些代码必须作为AJAX响应的结果添加到页面中。

<?php

//some selections from the database...
//all subsequent varibles are the members of $row = mysql_fetch_array($query) array;

$html_to_be_inactive = 
    '<li id="productID_' . $productID . '">
        <a href=work.php?action=deleteFromBasket&productID=' . $productID . ' onClick="return false;">
        <img src="images/delete.png" id="deleteProductID_' . $productID     . '">
        </a> ' . $productName . '(' . $totalItems . ' items) - $' . ($totalItems * $productPrice) . '</li>';

 echo $html_to_be_inactive;
?>

就是这样,在成功的AJAX请求之后,作为简单的HTML,“echo”的结果出现在页面上,当我点击链接时它什么也没做。

我不执行DOM'追加'方法,因为我还不熟悉DOM。我可以看到$ thml_to_be_inactive中提到的所有元素,但链接似乎非常不活跃。 “Ctrl + U”输出中也没有此HTML,只有在浏览器中选择“Inspect element”时才能看到它。

手动添加的HTML操作与往常相同的项目,但我需要AJAX检索的HTML也能正常工作。

我怀疑我需要通过JavaScript或jQuery执行一些'append'方法,但我不知道如何以正确的方式执行它。

感谢。

2 个答案:

答案 0 :(得分:1)

  1. 您需要将href放在引号中。
  2. onClick="return false;"将覆盖链接的默认操作(转到href)。您需要将其他事件绑定到链接,或者只删除`return false'。

答案 1 :(得分:0)

您的链接使用相对路径。

您可能正在将HTML插入到不同目录中的页面中,从而打破了相对路径。

如果是这样,您需要切换到绝对路径。