JQuery的AJAX返回链接无法使用
我在整合PHP和JQuery一个问题:JQuery的AJAX返回链接无法使用
我的主要文件是MyFile.html
和AJAX调用文件ajax.php
。
的ajax.php
函数返回链接myFile.html
作为
<a href Link.php?action=Function ></a>
(即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” 文件在同一目录下。
- 它也假定你有一个名为“js”的目录中名为“jquery.js”的jQuery Javascript文件。
- 您需要从一个实时Web服务器运行此示例。换句话说,如果将这些文件放在桌面上并在Web浏览器中打开“demo.html”,这将不起作用。有两个原因。现代浏览器中的安全限制通常会阻止来自本地文件的AJAX调用。而且,PHP页面将不会运行,从而使整个练习无用。
这里是你应该拥有的目录结构,假定/网络/数据是Web服务器的文件根目录下:
- /www/data/demo.html
- /WWW /数据/ 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">';
感谢RoBorg,它现在的工作 – venkatachalam 2008-12-16 05:22:23
感谢威廉·布伦德尔, 我与你的代码工作它工作正常,现在,我已经在你的例子.The另一个疑问Demo.html链接Link.php。当我点击这个新窗口打开时,我需要Demo.html里面的Link.php,任何想法都可以做到这一点 – venkatachalam 2008-12-16 05:21:50