我尝试将json数据从另一个url加载到我的html getJSON似乎在chrome Devtools Network中工作我可以看到状态为200的数据。但是我没有得到“它的工作原理”。
这是我的代码:
<div id="demo">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type = "text/javascript" language = "javascript">
$.getJSON( '/data/', function(data) {
console.log('it works');
})
.fail(function (jqxhr, status, error) {
console.log('error', status, error) }
);
</script>
</div>
这是控制台中的错误:
error parsererror SyntaxError: Unexpected token & in JSON at position 1
at parse (<anonymous>)
at Nb (jquery.min.js:4)
at A (jquery.min.js:4)
at XMLHttpRequest.<anonymous> (jquery.min.js:4)
我也使用python django作为后端。
答案 0 :(得分:2)
这里的问题是,它成功获得了请求,但它不是有效的JSON。这里不可能进行JSON转换。将您的代码更改为:
<script type = "text/javascript" language = "javascript">
$.get( '/data/', function(data) {
console.log('it works');
console.log(data);
})
.fail(function (jqxhr, status, error) {
console.log('error', status, error)
});
</script>
在这里,你不会得到错误加,你可以检查data
是否是一个有效的JSON格式,然后你可以这样做:
data = JSON.parse(data);
答案 1 :(得分:0)
您的请求已成功完成,并且您正在收到回复。
$.getJSON( '/data/', function(data) {
console.log('it works');
});
由于您的响应可能包含一些非JSON文本,因此会产生错误。