JavaScript警报无效

时间:2014-12-15 04:05:19

标签: javascript jquery button alert silverstripe

我已经尝试了许多方法来弹出JavaScript警报,但它无效。

我的网站位于SilverStripe 3.1中。我正在使用jQuery。

JavaScript文件或Web控制台中没有错误。 JavaScript文件已加载到页面上。所有mt其他函数(.remove,.ajaxbtn,.gotocart和checkout)都能正常工作。只有提醒呼叫不起作用。

这是我的JavaScript文件:

(function($)
{
    $(document).ready(function() 
    {
        $('.ajaxbtn').on( 'click', function() 
        {
            event.preventDefault();
            var link = $(this).attr('href'); 
            var request = $.ajax(
            {
              url: link,
              type: 'GET',
              dataType: 'html'
            });
            $('.ajaxbtn').ajaxSuccess(function()
            {
                alert('AJAX request successfully completed');
            });
            alert('AJAX request successfully completed');
        });

        $('body').on( 'click', '.remove',function() 
        {
            //event.preventDefault();
            var link = $(this).attr('href'); 
            //console.log(dataid);

            var request = $.ajax(
            {
              url: link,
              type: 'GET',
              dataType: 'html'
            });
        });

        $('body').on( 'click', '.checkout', function() 
        {
            //event.preventDefault();
            var link = $(this).attr('href'); 
            //console.log(dataid);

            var request = $.ajax(
            {
              url: link,
              type: 'GET',
              dataType: 'html'
            });
        });

        $( '.gotocart' ).click(function() 
        {

            alert('asdasdas');
            var link = $(this).attr('href'); 
            var request = $.ajax(
            {
              url: 'member-area/product-page-2/product-gallery/OrderedTemplate/',
              type: 'GET',
              dataType: 'html'
            });
            request.done(function( msg ) 
            {
                $('.cartcontent' ).replaceWith(msg);
            });
        });
    });
}(jQuery));

以下是我的按钮的html:

<button class="ajaxbtn btn btn-primary" href="$Top.Link(Cart)?id=$ID">Pick</button>
<button class="remove btn btn-primary" href="$Top.Link(RemoveItem)?id=$ID">Remove</button>
<button class="checkout pull-right btn btn-primary" style="margin-right:10px;" href="$Top.Link(CheckOut)?id=$ID">Check Out</button>
<button class="gotocart pull-right btn btn-primary" style="margin-right:20px" href="$Top.Link(gotoCart)">Go to cart</button>

3 个答案:

答案 0 :(得分:2)

我相信.ajaxSuccess()应该附加到文档中,而不是特定的元素。所以$(document).ajaxSuccess();

  • 此外,您应该将其移到按钮的单击处理程序之外,否则每次单击该按钮时都会反复绑定成功事件。

答案 1 :(得分:0)

您是否尝试在success函数中编写$.ajax?像这样:

var request = $.ajax({
            url: link,
            type: 'GET',
            dataType: 'html',
            success: function(data) {
            alert('AJAX request successfully completed');
          }
        });

您也可以尝试使用在第二次ajax调用中使用过的request.done

答案 2 :(得分:0)

success来电中添加$.ajax回调。

var request = $.ajax(
          {
              url: link,
              type: 'GET',
              dataType: 'html'
            });