由于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'方法,但我不知道如何以正确的方式执行它。
感谢。
答案 0 :(得分:1)
href
放在引号中。onClick="return false;"
将覆盖链接的默认操作(转到href)。您需要将其他事件绑定到链接,或者只删除`return false'。答案 1 :(得分:0)
您的链接使用相对路径。
您可能正在将HTML插入到不同目录中的页面中,从而打破了相对路径。
如果是这样,您需要切换到绝对路径。