jquery - $.ajax仅在放置alert()时才起作用

标签 jquery ajax

我尝试将内容加载到之前使用 AJAX 加载的内容中。我把代码贴出来了

使用 load():

jQuery("#contentpage").on("submit", "#loginform", my = function() {
    $("#contentpage").load("/logincheck.jsp");
    alert("this is required ");
});

使用 $.ajax():

jQuery("#contentpage").on("submit", "#loginform", function() {

    $.ajax({
        url: '/logincheck.jsp',
        success: function(data) {
            $('#contentpage').html(data);
        }
    });

    alert("this is required ");
});

#loginform 是一个加载了之前的 AJAX 请求的 HTML 表单,我使用 .on() 函数成功访问了它。

但问题是,当我提交 #loginform 而没有放置 alert('this is required') 框时,它会刷新整个页面。 此外,#contentpage 内的内容也没有改变。

但是,如果我对 alert("this is required") 执行同样的操作,则其工作正常,内容将加载到 #contentpage 中,而无需刷新整个页面。

这是一个时间问题吗? Ajax请求需要时间并且是异步的?如果我错了,请纠正我。

最佳答案

你试过这个吗?

        jQuery("#contentpage").on("submit","#loginform",my=function(event){ 
             event.preventDefault();
             $("#contentpage").load("/logincheck.jsp");
             alert("this is required ");
        });

这至少应该阻止页面刷新,并且还可以解决其他问题。祝你好运!

关于jquery - $.ajax仅在放置alert()时才起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12332163/

相关文章:

javascript - 查看源代码时,附加数据似乎不在标记中

javascript - 加载延迟加载内容所需的JS脚本

javascript - event.target.parentNode ...指向chrome和firefox中的不同 parent ?

javascript - 如何通过 'POST' 方法将数据从 Javascript 传递到 Python

javascript - jQuery .load(或 $.ajax)获取和设置页面标题?

jquery - 在 jQuery 中使用多个选择器

javascript - 如何创建直接链接以打开 Bootstrap 模式的 URL

php - 在此示例中如何使用 javascript 代替 PHP

php - 保护 GET 调用

ajax - 在 Wicket 口中使用高级模型自动完成