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;” 单击事件以防止按钮提交表单产生差异。