当我在FireFox中调试步进JS时,jquery ajax可以看到工作,但是当我让它运行时它不起作用

时间:2015-04-30 15:20:29

标签: jquery asp.net-mvc

我对这个问题感到很困惑。我正在调用ASP MVC 5控制器。当我逐步浏览FFox中​​的代码时,我可以清楚地看到控制器Action方法DeleteBadItem中的断点被命中,删除项过程正常工作。

但是,如果我不介绍FFox中​​的代码,例如;不要在$ .ajax旁边的FFox中​​断(行和步骤,控制器中的断点Action方法不会被命中。相反,Index方法被调用,我看到警告("请求是完成!"),但DeleteBadItem中的断点永远不会得到命中;

控制器返回ActionResult,所以我只是提出测试警告。

当我单步执行时,知道为什么行为有效,但不是吗?

感谢您的帮助

        var retVal = false;
        retVal = confirm("Are you sure you want to delete this item?");
        var deleteString = [item1, item2]
        if (retVal) {
            $.ajax({
                url: "@Url.Action("DeleteBadItem")",
                type: 'POST',
                dataType: "json",
                contentType: 'application/json; charset=utf-8',
                data: JSON.stringify(deleteString),
                success: function () {                       
                    location.reload();
                    alert("Record has been deleted");
                },
                failure: function () {
                    alert("An error occured.  Record was not deleted.");
                },
                complete: function( xhr, status ) {
                    alert( "The request is complete!" );
                }
            });
        }

1 个答案:

答案 0 :(得分:0)

感谢Kevin B的评论“将你的代码再提高一级(换句话说,显示你所提供的代码的调用。)”,我注意到我正在调用location.reload()在$('。delete')按钮单击事件的末尾,但在ajax块外面。在ajax Complete块中移动它似乎解决了这个问题。