jQuery AJAX Возвращает ссылку, которая не работает
Вопрос
У меня проблема с интеграцией 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>
Некоторые вещи, которые нужно запомнить:
- Это демо предполагает "ajax.php" и "demo.html" файлы в том же каталоге.
- Также предполагается, что у вас есть файл jQuery Javascript, расположенный в файле с именем "jquery.js" в каталоге с именем "js".
- Вам нужно запустить этот пример с действующего веб-сервера.Другими словами, это не сработает, если вы поместите эти файлы на свой рабочий стол и откроете "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">';