2012-05-03 44 views
0

具有从AJAX调用函数调用getRequest得到一个变量的值的问题,并把它变成功能测试,不知道IM它如何工作,任何帮助表示赞赏!jQuery的得到一个AJAX调用一个变量的值,并把它放到一个新的功能

function test() { 
    var out = getRequest().name; //problem 
    console.log(out); 
}; 
function getRequest() { 
    $.ajax({ 
     url: '/nextdocument', 
     type: 'GET', 
     async: true, 
     cache: false, 
     timeout: 11000, //vänta på svar från servern om ingen inläsning 
     success: function(data) { 
      var name = data.description; 
      var price = data.price; 
      console.log("read--> " + name + price); 
      setTimeout(
        'getRequest()', 
        1000 
      ); 

     } 
    }) 
} 

回答

2
function test() { 
    var XHR = getRequest(); 
    XHR.done(function(data) { 
     var out = data.description; 
     console.log(out); 
    }); 
} 

function getRequest() { 
    var XHR = $.ajax({ 
     url: '/nextdocument', 
     type: 'GET', 
     async: true, 
     cache: false, 
     timeout: 11000, //vänta på svar från servern om ingen inläsning 
     setTimeout(getRequest, 1000); //WHY 
    }); 
    return XHR; 
} 
+0

谢谢!那就是我想要的! setTimeout(getRequest,1000); - > theres会是一个得到每个获取请求完成后运行 – nihulus

+0

好吧,只是不要'setTimeout('enochannanfunksjon()',1000);'因为它会引用引用的文本来运行该功能,在我的例子中,或者如果传递数据,请执行'setTimeout(function(){enochannanfunksjon();},1000);'而不是。乐于帮助。 Lycka直到! – adeneo

+0

正如一个旁注,因为我还没有得到它,你确实意识到,当一个函数调用它自己,然后调用它自己,然后调用它自己,它将是一个无休止的Ajax调用循环,并且它每次都会增加函数由外部处理程序再次运行,例如点击事件等。 – adeneo

相关问题