我有以下代码,作为向数据库添加一些值的代码的一部分。
成功执行$.ajax
后,我希望使用刷新的数据重新加载特定的div(使用类' lijst
')。
$.ajax({
url: \"frontend/inc/functions/add_selectie.php\",
type: \"POST\",
data: ({ 'p_id' : p_id, 'v_id' : v_id, 'pd_id' : pd_id }),
cache: false,
success: function()
{
$(\".lijst\").hide().fadeIn('slow');
}
});
但是,使用此解决方案,只刷新div,而不是那里指定的实际PHP变量。当我手动刷新浏览器时,值会更新。
如何刷新div并更新变量?
答案 0 :(得分:0)
根据jQuery.ajax文档,“success”的函数签名。
类型:功能(PlainObject 数据,String textStatus,jqXHR jqXHR)请求成功时调用的函数。功能 传递三个参数:从服务器返回的数据 ...
换句话说:
success: function(data) {
$(".lijst").html(data).hide().fadeIn('slow');
}
答案 1 :(得分:0)
实际上,html中指定的PHP变量在服务器部分工作。当html准备好发送到浏览器时,html中的PHP变量已被替换为有值的字符串。而你的ajax请求将导致PHP更新数据库。因此,当您发送请求然后刷新页面时,PHP将再次替换html中的可变数据。
根据以上所述,您的ajax请求和服务器repsonse不知道PHP变量的存在。所以你必须自己更新内容。
也许你会做这样的事情:
success: function(data) {
$(".lijst").hide();
$(".title").html(data.title); // $(".title") may be a tag that surround a PHP variable
$(".content").html(data.content); // the same as $(".title")
$(".lijst").fadeIn('slow');
}