【问题标题】:Extjs, return Ajax return valueExtjs,返回Ajax返回值
【发布时间】:2011-08-02 19:55:17
【问题描述】:

我在使用 Ajax 时遇到问题。

function GetGrantAmazonItemCnt(){
    var cnt;
    Ext.Ajax.request({
        url : '',
        params : {},
        success :function(response){
            cnt = response.responseText;
        }
    });
    return cnt; 
}

问题是,在得到 ajax 响应之前,它返回 cnt。 所以它总是返回NULL。

有没有办法让正确的返回响应值?

谢谢!

【问题讨论】:

    标签: ajax extjs


    【解决方案1】:

    因为 AJAX 请求是异步的,所以您的 cnt 变量将在请求返回并调用成功处理程序之前返回。

    我建议重构你的代码来解决这个问题。

    执行此操作的一种方法是从 AJAX 请求的成功处理程序中调用调用 GetGrantAmazonItemCnt() 的任何函数,这样将值传递到它需要去的地方:

    function GetGrantAmazonItemCnt(){
        var cnt;
        Ext.Ajax.request({
            url : '',
            params : {},
            success :function(response){
                cnt = response.responseText;
                FunctionThatCalledMe(cnt);
            }
        });
    }
    

    【讨论】:

    • 谢谢你的回复,我知道是异步的,但是我在工作的时候经常遇到这个问题,所以我想知道专家在这种情况下是怎么做的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2011-05-08
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多