繁体   English   中英

如何在函数调用中使用Ajax返回值?

[英]How to use ajax return value from within a function call?

我有一个如下所示的函数,它无法从我调用该函数的地方返回数据值。

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

任何的意见都将会有帮助...

好吧,一种方法是在ajax成功中使用回调函数

function checkifRS(callback) {
    $.ajax({
        url: 'someURL.php',
        success: function(data) {
            callback(data); 
        }
    });

}

并这样称呼它

 checkifRS(function(data){

     //do something with data
  });

像这样处理数据

function checkifRS(handleData) {
      $.ajax({
                    url: 'someURL.php',
                    success: function(data) {
                                    handleData(data); 
                                }
                    });
    }

在输出“像这样调用”中获取数据

checkifRS(function(output){
  // here you use the output
});

使用async: false

JavaScript在浏览器的UI线程中运行,任何长时间运行的进程都将锁定UI,从而使其无响应。 此外,JavaScript的执行时间有上限,浏览器会询问用户是否继续执行。 所有这些确实是糟糕的用户体验。 用户将无法判断一切是否正常。 此外,对于连接速度较慢的用户,效果会更糟。

 function checkifRS(){
        $.ajax({
                url: 'someURL.php',
                async: false,
                success: function(data) {
                                return data;
                                }
                });
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM