jQuery AJAX Возвращает ссылку, которая не работает

StackOverflow https://stackoverflow.com/questions/368074

  •  21-08-2019
  •  | 
  •  

Вопрос

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

Есть какие-нибудь идеи?

Это было полезно?

Решение

Похоже, вы пытаетесь просто сопоставить содержимое 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/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