我正在尝试将JSON响应存储到变量中,以便我以后可以处理它,我尝试使用以下但是得到null,
function go(){
var jsonObj = getJson(url);
alert(JSON.stringify(jsonObj));
}
function getJson(){
return JSON.parse($.ajax({
type: 'POST',
url: 'url',
dataType: 'json',
global: false,
async: false,
success: function(data){
return data;
}
}).responseText);
}
平均时间我可以看到JSON内容在我的服务器控制台上打印出来。
修改
谢谢你们!解决了这个问题。你的解决方案在IE8中运行良好,但Chrome和FireFox仍然在警报弹出窗口中显示“空”。我不认为它的浏览器具体修复..?
答案 0 :(得分:1)
$.ajax({
type: 'POST',
url: 'url',
dataType: 'json',
global: false,
async: false,
success: function(data){
// do some stufs or assign data to a var
window.myVar = data;
}
});
Ajax是异步的,因此您需要将响应存储在回调中的变量中。 在这个例子中,window.myVar是一个包含响应数据的全局变量。在响应返回之前,您无法访问变量,您需要编写异步代码。