JQuery AJAX обратная ссылка не работает - PullRequest
0 голосов
/ 15 декабря 2008

У меня проблема с интеграцией 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 ]

2 голосов
/ 15 декабря 2008

Вам не хватает = и кавычек:

<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 голосов
/ 15 декабря 2008

Звучит так, будто вы пытаетесь просто установить содержимое элемента 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;
  }
?>

Теперь вам нужно загрузить этот PHP-скрипт из вашего HTML-файла, используя Javascript (jQuery). Вот простая страница, демонстрирующая это.

<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, расположенный в файле с именем "jquery.js" в каталоге с именем "js".
  3. Вам нужно запустить этот пример с живого веб-сервера. Другими словами, это не будет работать, если вы поместите эти файлы на рабочий стол и откроете «demo.html» в веб-браузере. Для этого есть две причины. Ограничения безопасности в современных браузерах часто препятствуют вызовам AJAX из локальных файлов. Кроме того, страница PHP не будет работать, что делает все упражнение бесполезным.

Вот структура каталогов, которую вы должны иметь, предполагая, что / www / data является корневым каталогом файлов вашего веб-сервера:

  • / WWW / данные / demo.html
  • / WWW / данных / ajax.php
  • / WWW / данные / JS / jquery.js
...