我有一个处理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之后取消页面加载状态?
答案 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中没有错误。