jQuery ajax调用async:false vs async:true

Web*_*rix 2 jquery

我试图使用jQuery ajax函数异步加载html.但我出于某种原因,它只有在async为false时才有效.我正在使用来自jQuery网站的代码示例,我不明白为什么它不起作用?我正在使用Firefox浏览器,我在IE 8中试过它,async:true在那里工作.

警报显示数据为空:

$.ajax({
                url: 'test.html',
                async: true,
                success: function (data) { alert(data); }
            });
Run Code Online (Sandbox Code Playgroud)

数据以test.html的内容返回:

$.ajax({
                url: 'test.html',
                async: false,
                success: function (data) { alert(data); }
            });
Run Code Online (Sandbox Code Playgroud)

奇怪的是,它使它工作:

var response =    $.ajax({
                url: 'test.html',
                async: true,
                success: function (data) { alert(data); }
            });

            alert(response);
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

Web*_*rix 7

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

  • 你先生,4小时后救了我,看看到底是怎么回事 (2认同)