usando jquery ajax para carregar informações do banco de dados
Eu tentei usar o seguinte
// Start method 1
var grbData = $.ajax({
type : "GET",
url : "http://grb.sonoma.edu:81/getgrbs.php",
data : "start=0&perPage=3"}).responseText;
$("#ajaxDiv").html(grbData);
// End method 1
// Start method 2
$.get("getgrbs.php", { start : 0, perPage : 3},
function(data) {
$("#tst").html(data);
}, "html");
// End method 2
nesta página:http://grb.sonoma.edu:81/paging.php para carregar dados de um banco de dados. O método 1 parece funcionar apenas no IE8, mas somente depois que a página é atualizada. Quando a página é carregada pela primeira vez, recebo um "Os dados necessários para concluir esta operação ainda não estão disponíveis". erro.
A razão pela qual eu prefiro o método 1 é porque me dá acesso a linhas individuais na tabela. Por exemplo. Cada linha tem uma classe "estouro". estou usando
$(".burst").click(function() {
$(".burst").css("background-color", "");
$(this).css("background-color", "yellow");
});
para alterar a cor da linha selecionada quando clicado. Isso só parece funcionar com o método 1 e não com o método 2.
Todo o código acima é encapsulado em $ (document) .ready (). eu tentei
$("#ajaxDiv").load("getgrbs.php", { start : 0, perPage : 3});
mas obtenho resultados semelhantes ao Método 2.
Como posso obter a função click para trabalhar com o método 2 ou obter o método 1 para trabalhar em todos os navegadores sem atualização? Obrigado por qualquer ajuda que eu possa conseguir por isso.
Eu preciso fazer isso em ajax (tentei ajax sem jquery e sem sorte também), pois haverá outras coisas na página que não serão alteradas conforme o usuário as pagina pelos dados.
Adendo à solução (melhor solução em resposta)Depois de usar com sucesso "sucesso", notei que a capacidade de clicar na linha e ter a mudança de cor bg foi embora. Então fiz o seguinte, que parece funcionar. Não tenho certeza se é o melhor caminho.
var grbData = $.ajax({
type : "GET",
url : "http://grb.sonoma.edu:81/getgrbs.php",
data : "start=0&perPage=3",
dataType : 'html',
success: function (data) {
$("#ajaxDiv").replaceWith(data);
startInteraction();
}
});
function startInteraction() {
$(".burst").click(function() {
$(".burst").css("background-color", "");
$(this).css("background-color", "yellow");
});
}