2008-12-15 22 views
0

我在整合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中工作。

任何想法?

回答

0

听起来好像您正试图简单地将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. 它也假定你有一个名为“js”的目录中名为“jquery.js”的jQuery Javascript文件。
  3. 您需要从一个实时Web服务器运行此示例。换句话说,如果将这些文件放在桌面上并在Web浏览器中打开“demo.html”,这将不起作用。有两个原因。现代浏览器中的安全限制通常会阻止来自本地文件的AJAX调用。而且,PHP页面将不会运行,从而使整个练习无用。

这里是你应该拥有的目录结构,假定/网络/数据是Web服务器的文件根目录下:

  • /www/data/demo.html
  • /WWW /数据/ AJAX。PHP
  • /www/data/js/jquery.js
+0

感谢威廉·布伦德尔, 我与你的代码工作它工作正常,现在,我已经在你的例子.The另一个疑问Demo.html链接Link.php。当我点击这个新窗口打开时,我需要Demo.html里面的Link.php,任何想法都可以做到这一点 – venkatachalam 2008-12-16 05:21:50

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

感谢RoBorg,它现在的工作 – venkatachalam 2008-12-16 05:22:23