我尝试在以前使用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请求需要时间,而且它是异步的?如果我错了,请纠正我。
答案 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);
}
});