Javascript 如何使用jquery捕获返回值
我试图编写一个Javascript/jQuery函数,从服务器加载另一个页面,对其进行解析以确定其父页面,并返回该值 我的函数当前如下所示:Javascript 如何使用jquery捕获返回值,javascript,jquery,ajax,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); // d
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语句直接放在警报之后,我将返回到某个JQuery函数,而不是从中调用的函数。我的函数未定义
如果我将return语句直接放在最后一个花括号之前,那么Javascript将在完成异步AJAX位之前执行它。My函数接收返回值的初始值
我肯定有一个简单的答案,但我一直找不到。我不知道如何使函数按顺序执行。你能帮我吗?val returnedValue=return\u 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
});
}
由于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>
试试这个链接[asynchronous call意味着它请求它并执行下一行,不等待它完成,所以将return语句放在函数的最后一个大括号之前不会起作用。这是您想要的吗?对不起,我需要更多详细信息-我把它放在哪里,它做什么?returnedValue是一个新变量,还是一个预定义的属性什么?好的,看看我的更新。我不认为这是答案。我已经尝试直接从函数中“返回”,但它不起作用。设置另一个变量也可以,但它会扭曲代码的其余部分,因为我不能仅仅将函数作为值调用。你的意思是返回值是一个函数吗?如果是这样,你可以使用returnedValueThank。我认为不是这澄清了我在其他地方读到的具体内容。