jQuery的。 将JSON作为结果分配给变量

我使用这个帮助函数来接收我的请求的JSON结果:

function getData(url) { $.get(url, function(data) { response = data; return response; }, 'application/json'); } 

我从我的web应用程序中给它一些字符串作为url的一部分,比如’/ api / getusers’,所以它看起来像getData('/api/getusers') 。 现在我需要包含我从url收到的JSON数据的字符串结果分配给我的变量,所以它看起来像这样: var result = getData('/api/getusers') 。 然后我将处理这个JSON数据。 问题是返回响应变量。 这是未定义的。 谢谢!

这是一个异步操作,这意味着在从getData()返回很久之后,当服务器的响应可用时, function(data) { ... }运行。 相反,从该function开始你需要的任何东西,例如:

 function getData(url, callback) { $.get(url, callback, 'application/json'); } 

然后当你调用它时,传入一个函数或引用一个使用响应的函数,如下所示:

 getData("myPage.php", function(data) { alert("The data returned was: " + data); }); 

试试这个

  function getData(url){
 var数据;
     $就({
         async:false,//这就是诀窍
         url:'http://www.example.com',
         dataType:'json',
        成功:function(响应){
            data = response;
         }
     });
    返回数据;
 }

使用$ .ajax

 $.ajax({ url: 'http://www.example.com', dataType: 'json', success: function(data){ alert(data.Id); } });