ajax getJSON正确加载数据但不登录控制台

时间:2017-01-02 07:43:29

标签: jquery python ajax

我尝试将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作为后端。

2 个答案:

答案 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文本,因此会产生错误。