jQuery ajax调用async:false vs async:true

我试图使用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); 

这里发生了什么?

好吧,想通了:ajax调用是按下按钮点击,但是该按钮正在提交表单,所以整个页面正在重新加载。 添加“return false;” 单击事件以防止按钮提交表单产生差异。