Javascript jQuery。将JSON作为结果分配给变量
我使用此helper函数接收请求的JSON结果:Javascript jQuery。将JSON作为结果分配给变量,javascript,ajax,jquery,Javascript,Ajax,Jquery,我使用此helper函数接收请求的JSON结果: function getData(url) { $.get(url, function(data) { response = data; return response; }, 'application/json'); } 我给它一些字符串作为web应用程序url的一部分,比如“/api/getusers”,所以它看起来像getData(“/api/
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数据。问题在于返回响应变量。没有定义。谢谢 这是一个异步操作,意味着当服务器的响应可用时,function(data){…}
会在您从getData()
返回很久之后运行。相反,从该函数中启动您需要的任何内容,例如:
function getData(url, callback) {
$.get(url, callback, 'application/json');
}
然后在调用时,传入一个函数或对使用响应的函数的引用,如下所示:
getData("myPage.php", function(data) {
alert("The data returned was: " + data);
});
使用$.ajax
$.ajax({
url: 'http://www.example.com',
dataType: 'json',
success: function(data){
alert(data.Id);
}
});
试试这个
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;
}
函数getData(url){
var数据;
$.ajax({
async:false,//这就是诀窍
网址:'http://www.example.com',
数据类型:“json”,
成功:功能(响应){
数据=响应;
}
});
返回数据;
}