取消ajax中的页面加载状态

时间:2014-07-02 00:16:58

标签: javascript jquery ajax

我有一个处理post表单的脚本,并使用document.write和event.preventDefault

<script type="text/javascript">

$(document).ready(function(){

$('#myForm').submit(function(event) {

var form = $(this);

var request = $.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize()
}).success(function(result) {

document.write(result);

});

event.preventDefault();
});
});

</script>

按下提交并调用document.write后 - 我的浏览器进入无限加载页面状态。如果我删除preventDefault() - 它可以工作,但我需要它让其他脚本部分工作..

有没有办法在document.write之后取消页面加载状态?

1 个答案:

答案 0 :(得分:1)

我看不出为什么event.preventDefault会出现问题...请尝试以下代码:

$(document).ready(function () {

    $('#myForm').submit(function (event) {
        event.preventDefault();
        var form = $(this);
        var request = $.ajax({
            type: form.attr('method'),
            url: form.attr('action'),
            data: form.serialize()
        }).complete(function (result) {
            $("body").html(result);
        });

    });
});

使用complete代替success,以确保您的AJAX中没有错误。