jQuery将变量从一个函数传递到另一个函数
问题描述:
我需要创建一个变量并为该变量赋值以便稍后使用。为了节省复杂性并保持简单,我已经删除了也是var item2的其他部分的细节。在这个例子中的变量是mySeriesjQuery将变量从一个函数传递到另一个函数
var mySeries;
$.getJSON("/_scripts/proxy.php", jsonObj, function(item)
{
//Stuff happens here
//NEED TO ASSIGN VALUE TO mySeries HERE:
mySeries = item[0].series_id;
//Stuff happens here
});
//NEED TO USER mySeries VALUE HERE BUT IT IS NOT DEFINED
var item2 = mySeries;
答
使用Ajax,你需要使用回调,因为AJAX是asynchronous
:
$.getJSON("/_scripts/proxy.php", jsonObj, function(item)
{
var mySeries;
//Stuff happens here
//NEED TO ASSIGN VALUE TO mySeries HERE:
mySeries = item[0].series_id;
save_series(mySeries)
//Stuff happens here
});
function save_series(s){
var item2 = mySeries;
//...etc
}
答
mySeries获得分配的json的请求完成后,您ITEM2获取的之前分配它完成。
答
是的,我认为你需要一个item2的setter,因为它是在函数后面发生的,但是因为它是异步的,所以它不会有值直到它返回。如果您需要这种功能,您也可以使用.ajax()并将函数设置为同步。