我正在尝试使用jQuery ajax函数异步加载html。但我出于某种原因,它只有在async为false时才有效。我正在使用来自jQuery网站的代码示例,我不明白为什么它不起作用? 我正在使用Firefox浏览器,我在IE 8中试过它,async:true在那里工作。
警报显示数据为空:
$.ajax({
url: 'test.html',
async: true,
success: function (data) { alert(data); }
});
数据以test.html的内容返回:
$.ajax({
url: 'test.html',
async: false,
success: function (data) { alert(data); }
});
奇怪的是,这使它有效:
var response = $.ajax({
url: 'test.html',
async: true,
success: function (data) { alert(data); }
});
alert(response);
这里发生了什么?
答案 0 :(得分:7)
好的,想通了:ajax调用是按下按钮点击,但是该按钮正在提交表单,所以整个页面正在重新加载。添加“return false;”单击事件以防止按钮提交表单产生差异。