我需要创建一个变量并为此变量赋值以便稍后使用。为了节省复杂性并保持简单,我删除了细节,这些细节也是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;
答案 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()并将函数设置为同步。