簡體   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