我已经尝试了许多方法来弹出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>
答案 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'
});