我使用这个帮助函数来接收我的请求的JSON结果:
function getData(url) {
$.get(url,
function(data) {
response = data;
return response;
}, 'application/json');
}
我从我的网络应用程序中给它一些字符串作为url的一部分,比如'/ api / getusers',所以它看起来像getData('/api/getusers')
。现在我需要包含从url收到的JSON数据的字符串结果分配给我的变量,所以它看起来像这样:var result = getData('/api/getusers')
。然后我将处理这个JSON数据。问题是返回响应变量。这是未定义的。谢谢!
答案 0 :(得分:7)
试试这个
function getData(url) { var data; $.ajax({ async: false, //thats the trick url: 'http://www.example.com', dataType: 'json', success: function(response){ data = response; } }); return data; }
答案 1 :(得分:6)
这是一个异步操作,意味着当function(data) { ... }
返回很久后,当服务器的响应可用时,getData()
稍后运行 。相反,从该功能开始你需要的任何东西,例如:
function getData(url, callback) {
$.get(url, callback, 'application/json');
}
然后当你调用它时,传入一个函数或引用一个使用响应的函数,如下所示:
getData("myPage.php", function(data) {
alert("The data returned was: " + data);
});
答案 2 :(得分:1)
使用$ .ajax
$.ajax({
url: 'http://www.example.com',
dataType: 'json',
success: function(data){
alert(data.Id);
}
});