Ajax Post在onclick属性中被取消

Ajax Post getting cancelled in onclick attribute

本文关键字:取消 属性 onclick Post Ajax      更新时间:2023-09-26

我看到过这个问题的重复,但是没有解决方案似乎适合我。我试图触发一个基于链接的AJAX请求(如下所示)。我是用MVC 4写的。AJAX请求似乎通过得很好,我在另一边有一个断点,但是请求被浏览器取消了。我可以在Firebug、Chrome等浏览器中看到这种取消。我发现了一些建议,我需要在onclick处理程序结束时返回false,以防止其他代码取消我的事件,但它似乎不起作用。在onclick处理程序中是否存在杀死任何未完成的AJAX请求的其他怪癖?我该如何阻止这种行为?

<a href="" onclick="javascript:navClick('foo');">Employees</a>

function navClick(target) {
    var serviceURL = '/Consequence/'+target;
    try {
        var dealerID = "5";   
        $.ajax({
            url: '/Consequence/test',
            data: { dealerID: dealerID },
            type: 'POST',   
            success: function (data) {
                alert(data);
            },
            error: function () {
                alert("error");
            }
        });
    } catch (err) {
        alert("exception");
    }
    return false;
};

尝试在链接中添加一个类并触发该类的click事件

<a href="" class="linkEmployees">Employees</a>

然后在你的脚本

$('.linkEmployees').on('click', function(){
    //your ajax call here
});