我试图编写一个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
。
我确定必须有一个简单的答案,但我一直无法找到它。我无法弄清楚如何使函数顺序执行 。你能救我吗?
答案 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>