JQuery AJAX返回链接不起作用

时间:2008-12-15 11:29:52

标签: jquery ajax hyperlink return

我在集成PHP和JQuery时遇到了问题:

我的主文件是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中运行。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您错过了=和引号:

<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">';

答案 1 :(得分:0)

听起来您正在尝试简单地将HTML元素的内容设置为执行PHP脚本的结果。下面是一个示例PHP脚本,它只打印HTML链接,具体取决于您在'foo'参数中传递的参数。

<?
  // 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>

要记住一些事情:

  1. 此演示假定“ajax.php”和“demo.html”文件位于同一目录中。
  2. 还假设您在名为“js”的目录中将jQuery Javascript文件放在名为“jquery.js”的文件中。
  3. 您需要从实时Web服务器运行此示例。换句话说,如果您将这些文件放在桌面上并在Web浏览器中打开“demo.html”,则无法使用此功能。有两个原因。现代浏览器中的安全限制通常会阻止来自本地文件的AJAX调用。此外,PHP页面将无法运行,使整个练习无效。
  4. 这是你应该拥有的目录结构,假设/ www / data是你的web服务器文件的根目录:

    • /www/data/demo.html
    • /www/data/ajax.php
    • /www/data/js/jquery.js