Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript警报不工作_Javascript_Jquery_Button_Alert_Silverstripe - Fatal编程技术网

JavaScript警报不工作

JavaScript警报不工作,javascript,jquery,button,alert,silverstripe,Javascript,Jquery,Button,Alert,Silverstripe,我已经尝试了很多方法让JavaScript警报弹出,但它不起作用 我的网站是SilverStripe 3.1。我正在使用jQuery JavaScript文件或web控制台中没有错误。页面上已加载JavaScript文件。所有其他功能(.remove、.ajaxbtn、.gotocart和checkout)都能正常工作。只有警报呼叫不起作用 这是我的JavaScript文件: (function($) { $(document).ready(function() {

我已经尝试了很多方法让JavaScript警报弹出,但它不起作用

我的网站是SilverStripe 3.1。我正在使用jQuery

JavaScript文件或web控制台中没有错误。页面上已加载JavaScript文件。所有其他功能(.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>
拾取
去除
退房
去购物车

您是否尝试过在
$.ajax
函数中编写
成功
?大概是这样的:

var request = $.ajax({
            url: link,
            type: 'GET',
            dataType: 'html',
            success: function(data) {
            alert('AJAX request successfully completed');
          }
        });
您还可以尝试使用在第二次ajax调用中使用的
request.done

我认为.ajaxSuccess()应该附加到文档中,而不是特定的元素。So
$(document.ajaxSuccess()

  • 此外,您可能应该将其移动到按钮的单击处理程序之外,否则每次单击按钮时都会一次又一次地绑定成功事件

$.ajax
调用中添加
成功
回调

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

你有多个警报,它们都没有开火吗?似乎在这个JSFIDLE中工作:我发现了问题,我意外地关闭了google chrome中的弹出窗口功能。谢谢,顺便说一句~很好+1从jQuery1.8开始,
.ajaxSuccess()
方法只能附加到文档中。。。查看javascript区域的底部。。尝试了以下操作:$(document).ajaxSuccess(函数(){alert('AJAX请求成功完成');});$('.ajaxbtn').on('click',function(){event.preventDefault();var link=$(this.attr('href');var request=$.ajax({url:link,type:'GET',dataType:'html',success:function(data){alert('ajax请求成功完成');}}});});但同样的结果也发生了。我发现了问题,我不小心关闭了谷歌浏览器中的弹出窗口功能。谢谢,顺便说一句~我忘记添加了,请从元素中删除
.ajaxSuccess()
调用