如何使用jquery捕获返回值

时间:2014-06-18 05:48:44

标签: javascript jquery ajax

我试图编写一个Javascript / jQuery函数,从服务器加载另一个页面,解析它(以确定其页面),并返回该值。

我的功能目前看起来像这样:

function getParent(pageNo) {
    $.get( [page_reference] , function(loaded_stuff) {

    [process to parse loaded_stuff to determine return_value]

    alert (return_value);  // displays the value I want
    });
}

但我无法弄清楚如何捕获返回值。

如果我在return之后直接放置alert()语句,我将返回一些JQuery函数,而不是我调用的函数。我的功能收到undefined

如果我在最后的大括号之前直接放置return语句,那么Javascript将在完成异步AJAX位之前执行它。我的函数收到初始值return_value

我确定必须有一个简单的答案,但我一直无法找到它。我无法弄清楚如何使函数顺序执行 。你能救我吗?

2 个答案:

答案 0 :(得分:0)

val returnedValue=return_value;

然后你可以随心所欲地做任何事情!

更新:

function getParent(pageNo) {
    $.get( [page_reference] , function(loaded_stuff) {

    [process to parse loaded_stuff to determine return_value]

    alert (return_value);  // if return_value returns the desired value then you should just return that like this
    return return_value;
    //or store it in a variable and then use it as you like
    val returnedValue=return_value;  
    //note that if you choose to store it in a variable then you must remove the "return return_value;" line
    });
}

答案 1 :(得分:0)

由于ajax是异步的,它不起作用,你必须通过回调中的工作来解决它。

<script>
    function getParent(pageNo) {
        $.get( [page_reference] , function(loaded_stuff) {

        [process to parse loaded_stuff to determine return_value]

        alert (return_value);  // displays the value I want
        ActuallyDoTheWork(return_value);
        });
    }

    function ActuallyDoTheWork(return_value)
    {
        //do the updating work here
    }
</script>