我正在尝试使用 PHP 和 AJAX 更新一些数据,但我的警报没有显示。在函数(响应)中,我从 PHP 文件中收到“成功”消息。请指教
<link rel="stylesheet"
<body>
<div style="margin: auto;width: 60%;">
<div class="alert alert-success alert-dismissible" id="success" style="display:none;">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
</div>
---------- 我的 AJAX 脚本 ----------
<script>
$(document).ready(function(){
$(".upr").click(function(){
var $form = $(this).closest('form');
var request=$form.find('[name="request"]').data("request");
var userid=$form.find('[name="userid"]').data("userid");
var pr=$form.find('[id="pr"]').val()
//alert(+pr+"/"+userid+"/"+request);
$.ajax({
url:'update.php',
method:'POST',
data:{
request:request,
userid:userid,
pr:pr
},
success:function(response){
//alert(response);
$("#success").show();
$('#success').html(response);
}
});
});
});
</script>
答案 0 :(得分:0)
您需要检查浏览器中的 Network
选项卡,并确保在 AJAX 生成时您有 200 多个 HTTP 代码,否则您将无法到达 success
回调。此外,您可以添加 error
回调并执行一些 console.log
。这可能会给您一些线索:
$.ajax({
url:'update.php',
method:'POST',
data:{
request:request,
userid:userid,
pr:pr
},
success:function(response){
//alert(response);
$("#success").show();
$('#success').html(response);
},
error:function(jqXHR, textStatus, errorThrown) {
console.log('Error happened', jqXHR, textStatus, errorThrown);
}
});
答案 1 :(得分:0)
$(document).ready(function(){
$(document).on("click", '.upr', function(e){
e.preventDefault();
var $form = $(this).closest('form');
var req=$form.find('[name="request"]').data("req");
var uid=$form.find('[name="userid"]').data("uid");
var notes=$('#tab'+request).children('td[data-target=notes]').text();
var pr=$form.find('[id="pr"]').val()
$.ajax({
url:'update.php',
method:'POST',
data:{
req:req,
uid:uid,
pr:pr
},
success:function(response){
var newHtml = 'C P = ' + pr;
$('.proo'+request).html(newHtml);
alert(response);
},
error:function(jqXHR, textStatus, errorThrown) {
console.log('Error happened', jqXHR, textStatus, errorThrown);
}
});
})
});