getJson问题,它返回undefined

时间:2011-07-19 11:48:06

标签: jquery json

你好,我有这个代码

var temp;
if(method==1)
  temp = $("#Words").val();             //get the words from textbox
else{
  $.getJSON("http://localhost/mine/test.js", function(data) {
      temp=data.Words;
  });
}
//do something with temp...but temp is undefined after the execution of else

但执行getJson后temp未定义...如果我发出警告(temp)它会继续下去吗?我如何才能继续使用temp的值?

提前感谢!

2 个答案:

答案 0 :(得分:3)

这是因为getJSON是ajax请求,而不是同步。试试这个

var temp;
if(method==1) {
  temp = $("#Words").val();             //get the words from textbox
  proc(temp);
} else {
  $.getJSON("http://localhost/mine/test.js", function(data) {
      temp=data.Words;
      proc(temp);
  });
}

function proc(data){
    //do something with temp...but temp is undefined after the execution of else
}

答案 1 :(得分:0)

您正在为$.getJSON()函数提供回调函数。在请求完成之前,这不会执行。