我正在尝试使用jQuery.getJSON方法从我的目录中读取JSON文件,并返回图片中显示的对象。我想从对象中获取responseText,但无法弄清楚如何。
var jsonData = jQuery.getJSON('relationalData.json');
我曾尝试使用以下内容来提取responseText但它们都失败了。
var response = jsonData.responseText;
var response = jsonData['responseText'];
我也试过没有运气,因为该方法甚至没有用json文件调用。当我使用xml时,它可以工作。
$.get(filename, function(data){
var responseText = data;
});
答案 0 :(得分:0)
类似于guest271314的解决方案,但也许对某些人来说仍然具有启发意义......
$.getJSON('http://ws.spotify.com/search/1/artist.json?q=foo')
.done(function(obj,status,xhdr){$('#out').append(xhdr.responseText);});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="out"><div>
&#13;
重要的部分是在.responseText
对象中查找xhdr
属性,可以通过回调函数的第三个参数访问该属性。
答案 1 :(得分:0)
希望知道这个问题,但是对于将来的访问者,我的解决方案在哪里?
$。getJSON方法使用HTTP GET请求从服务器获取数据,成功调用后的响应将在控制台中看到的responseText属性中返回。
因此,要获取responseText的数据,必须使用JSON.parse()方法将数据检索到javaSrcipt对象,如下所示:
var jsonData = JSON.parse(jsonCall.responseText);
但是$ .getJSON()方法是异步的,因此如果不存在响应,则必须在回调函数中完成。
最终解决方案:
var jsonCall = $.getJSON('URL',function(){
var jsonData = JSON.parse(jsonCall.responseText);
console.log(jsonData);
});
答案 2 :(得分:-1)
尝试使用.then()
,将responseJSON
替换为responseText
var jsonData = jQuery.getJSON("https://gist.githubusercontent.com/guest271314/23e61e522a14d45a35e1/raw/a5ac6cffdc1ffab39f9db425844721b528751654/a.json");
jsonData.then(function(data, textStatus, jqxhr) {
alert(jqxhr.responseJSON)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>