php执行后的Ajax回调

时间:2015-03-18 07:39:49

标签: javascript php jquery html ajax

我想用插件sweetalert显示警告消息。 我的页面显示在索引页面10产品上 每个都有链接(可能是隐藏字段的形式)与数据发送到PHP脚本

例如 script.php?id = x& b = x& c = z

有PHP的HTML

<?php foreach($datas as $data): ?>
<a href="auction_buy.php?id=<?php echo $data->$id; ?>&b=x&c=z" class="a">link</a>
<?php endforeach; ?>

$ datas是来自DB

的数据的对象

现在如果我添加ajax

$('.a').click(function (event){ 
event.preventDefault(); 
$.ajax({
    url: $(this).attr('href')
    ,success: function(response) {
       swal("Here's a message!"); 
       //Similar to alert(''); i tried alert too but it didnt work
    }
})
return false;
});

警告(&#39; ok&#39;)或swal警报不会出现。 我有产品描述页面,其中与表格数据类似的代码有效 那么多链接可能有问题吗?

产品说明中的代码

jQuery("#contactForm1").ready(function() {
var frm = $('#contactForm1');
frm.submit(function (ev) {
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize(),
        success: function (data) {
           swal({  
                title: "Success!", 
                text: "Code worked",
                type: "success",
                confirmButtonColor: "#4B77BE", 
                confirmButtonText: "Ok",
                closeOnConfirm: true 
            },
                function() {
                    location.reload();
                }
            );

        }
    });

    ev.preventDefault();
});

});

我需要的是在ajax功能之前或之后显示警报。 我真的花了很多时间来解决这个问题,但我是jquery的初学者,有人能帮帮我吗?非常感谢你,抱歉英语不好:)

1 个答案:

答案 0 :(得分:0)

试试这个:

$('.a').click(function (event){
  $.ajax({
   url: $(this).attr('href')
   })
   .done(function(response) {
        swal("Here's a message!"); 
    )};
  //it should be here after ajax
  event.preventDefault(); 
});

您应该在结尾声明event.preventDefault()。另外请记住,自jQuery 1.8起,不应该使用done()。