jQuery将变量从一个函数传递到另一个函数

时间:2011-05-11 20:52:12

标签: jquery function variables

我需要创建一个变量并为此变量赋值以便稍后使用。为了节省复杂性并保持简单,我删除了细节,这些细节也是var item2的其他部分。此示例中的变量为 mySeries

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;

3 个答案:

答案 0 :(得分:3)

使用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
}

答案 1 :(得分:0)

mySeries get在json请求完成后分配,你的item2在完成之前被分配。

答案 2 :(得分:0)

是的,我认为你需要一个set2的setter,因为它发生在函数之后,但由于它是异步的,所以在它返回之前它不会有值。如果需要这种功能,也可以使用.ajax()并将函数设置为同步。