$ .ajax仅在置于alert()时有效

时间:2012-09-08 15:48:11

标签: jquery ajax

我尝试在以前使用AJAX加载的内容中加载内容。我把代码

with 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请求需要时间,而且它是异步的?如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:5)

你试过这个吗?

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

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

答案 1 :(得分:-1)

异步密钥是默认true,应将其更改为false

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