JQuery AJAX Retorno link não funciona
Pergunta
Eu tenho um problema na integração de PHP e JQuery:
Meu arquivo principal é MyFile.html
eo arquivo chamada AJAX é ajax.php
.
A função ajax.php
retorna links para myFile.html
como
<a href Link.php?action=Function ></a>
(i echo " <a href Link.php?action=Delete";
)
Quando clico no link retornou de MyFile.html
está funcionando conforme o esperado. Eu preciso como modificar o código equivalente ao trabalho corretamente no Myfile.Html
.
A minha motivação é que o link ajax.php
retorno deve trabalhar em HTML.
Todas as idéias?
Solução
Parece que você está tentando simplesmente definir o conteúdo de um elemento HTML ao resultado da execução de um script PHP. Aqui está um script PHP amostra que só vai imprimir um link HTML dependendo de qual parâmetro você passá-lo no parâmetro '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;
}
?>
Agora você precisa carregar esse script PHP de dentro de seu arquivo HTML usando JavaScript (jQuery). Aqui está uma página simples demonstrando isso.
<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>
Algumas coisas para lembrar:
- Esta demonstração assume o "ajax.php" e arquivos "demo.html" estão no mesmo diretório.
- Supõe-se também que você tem o arquivo jQuery Javascript localizado em um arquivo chamado "jquery.js" em um diretório chamado "JS".
- Você precisa executar este exemplo de um servidor web ao vivo. Em outras palavras, isto não vai funcionar se você colocar esses arquivos em seu desktop e "demo.html" aberto em um navegador da web. Há duas razões para isso. As restrições de segurança em navegadores modernos muitas vezes evitar chamadas AJAX a partir de arquivos locais. Além disso, a página PHP não será executado, tornando todo o exercício inútil.
Aqui está a estrutura de diretórios que você deve ter, assumindo / www / dados é o diretório raiz dos arquivos do seu servidor web:
- /www/data/demo.html
- /www/data/ajax.php
- /www/data/js/jquery.js
Outras dicas
Você está perdendo o =
e citações:
<a href Link.php?action=Function >
deve ser
<a href="Link.php?action=Function">
Você precisa escapar estes em PHP assim:
echo "<a href=\"Link.php?action=Function\">";
Ou, alternativamente, usar aspas simples:
echo '<a href="Link.php?action=Function">';