AJAX返回null?

use*_*031 3 ajax jquery

我正在尝试使用ajax从我的服务器获取信息.页面xxx.php是一个只写有123的页面.但是,当我想返回该页面的内容时,它返回null.

function myFunct(){
    $.ajax({
        url: 'xxx.php',
        success: function(data) {
            return data;
        }
    });
}

var data = myFunct(); //nothing.
Run Code Online (Sandbox Code Playgroud)

TJ-*_*TJ- 8

请注意,ajax是'异步'.因此,myFunct()完成执行时可能无法接收对服务器调用的响应.您可以将处理来自服务器调用的数据的逻辑放在ajax的"成功"中.

function myFunct(){
    $.ajax({
        url: 'xxx.php',
        success: function(data) {
           // processMyData(data);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks 5

AJAX 是异步的

您只会在一段时间收到回复在其余代码完成运行的。

相反,您需要使用回调返回值,就像这样$.ajax做:

function myFunct(callback){
    $.ajax({
        url: 'xxx.php',
        success: function(data) {
            // Do something to the data...
            callback(data);
        }
    });
}

myFunct(function(result) {
    ...
});
Run Code Online (Sandbox Code Playgroud)