JQuery AJAX 返回链接不起作用
题
我在集成 PHP 和 JQuery 时遇到问题:
我的主要文件是 MyFile.html
AJAX调用文件是 ajax.php
.
这 ajax.php
函数返回链接到 myFile.html
作为
<a href Link.php?action=Function ></a>
(IE echo " <a href Link.php?action=Delete";
)
当我点击返回的链接时 MyFile.html
它的表现符合预期。我需要如何修改等效代码才能正常工作 Myfile.Html
.
我的动机是 ajax.php
返回链接应该在 HTML 中工作。
有任何想法吗?
解决方案
听起来您正试图简单地将 HTML 元素的内容设置为执行 PHP 脚本的结果。下面是一个示例 PHP 脚本,它仅根据您在“foo”参数中传递的参数打印 HTML 链接。
<?
// Get the parameter "foo" from the URL string.
$action = $_GET['foo'];
// Return a different link depending on what 'foo' is.
switch ($action) {
case 'a':
print('<a href="Link.php?action=Delete">Delete</a>');
break;
case 'b':
print('<a href="Link.php?actiom=Edit">Edit</a>');
break;
default:
print('<a href="Link.php?action=New">New</a>');
break;
}
?>
现在您需要使用 Javascript (jQuery) 从 HTML 文件中加载 PHP 脚本。这是一个简单的页面演示了这一点。
<html>
<head>
<title>Demo Page</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function() {
$.get('ajax.php?foo=a', function(data) {
$('#result').html('Received response: ' + data);
});
});
</script>
</head>
<body>
<!-- This div will contain a link to the "Delete" -->
<div id="result"/>
</body>
</html>
需要记住的一些事情:
- 该演示假设“ajax.php”和“demo.html”文件位于同一目录中。
- 还假设您的 jQuery Javascript 文件位于名为“js”的目录中名为“jquery.js”的文件中。
- 您需要从实时 Web 服务器运行此示例。换句话说,如果您将这些文件放在桌面上并在网络浏览器中打开“demo.html”,这将不起作用。有两个原因。现代浏览器中的安全限制常常会阻止来自本地文件的 AJAX 调用。此外,PHP 页面将不会运行,使得整个练习毫无用处。
以下是您应该拥有的目录结构,假设 /www/data 是 Web 服务器文件的根目录:
- /www/data/demo.html
- /www/data/ajax.php
- /www/data/js/jquery.js
其他提示
您错过了=
和报价:
<a href Link.php?action=Function >
应
<a href="Link.php?action=Function">
您需要在PHP逃避这些,像这样:
echo "<a href=\"Link.php?action=Function\">";
或可替换地使用单引号:
echo '<a href="Link.php?action=Function">';
不隶属于 StackOverflow