繁体   English   中英

如何在requireJS中从AJAX获取返回值?

[英]How to get return value from AJAX in requireJS?

我使用requireJS构建了代码。 在我的init.js中

require(["jquery", "user"], function($, user){
    console.log(user.isLogin());
});

在我的user.js中

define(["jquery"], function($){
    return{
        isLogin: function(){
             var status = 0;
             function callApi(){
                 return $.ajax({
                 type: "post",
                 url: urls.api_isLogin,
                 dataType: "json"
             }
             callApi().done(function(data){
                 status = data.data;
                 console.log(status);
                 return status;
             });    
       }
    };
});

我可以从ajax调用获取数据:

console.log(status);
//output: true
//means I can get the value from the ajax call

但是如何将其传递给init.js?
我从以下地方得到“未定义”:

console.log(user.isLogin());

好。 我自己想通了。

define(["jquery"], function($){
    return{
        isLogin: function(){
                 return $.ajax({
                 type: "post",
                 url: urls.api_isLogin,
                 dataType: "json"
             }    
       }
    };
});

然后在另一个文件中:

$.when(user.isLogin()).then(function(data){
    console.log(data.data);
});

暂无
暂无

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

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