我在集成 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>

需要记住的一些事情:

  1. 该演示假设“ajax.php”和“demo.html”文件位于同一目录中。
  2. 还假设您的 jQuery Javascript 文件位于名为“js”的目录中名为“jquery.js”的文件中。
  3. 您需要从实时 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">';
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top