0

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 で機能することです。

何か案は?

4

2 に答える 2

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">';
于 2008-12-15T11:46:07.033 に答える
0

HTML 要素のコンテンツを PHP スクリプトの実行結果に単純に設定しようとしているように思えます。これは、「foo」パラメーターで渡すパラメーターに応じて、HTML リンクを出力するだけのサンプル PHP スクリプトです。

<?
  // 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」を開いた場合、これは機能しません。これには 2 つの理由があります。最近のブラウザのセキュリティ制限により、ローカル ファイルからの AJAX 呼び出しが妨げられることがよくあります。また、PHP ページは実行されず、演習全体が役に立たなくなります。

/www/data が Web サーバーのファイルのルート ディレクトリであると仮定した場合のディレクトリ構造は次のとおりです。

  • /www/data/demo.html
  • /www/data/ajax.php
  • /www/data/js/jquery.js
于 2008-12-15T12:12:08.633 に答える