不能使用'in'运算符来搜索'length'

时间:2017-08-03 02:30:08

标签: javascript jquery json

我看了this answer

我这样做了:

function countryPage() {
  $.ajax({
    url: "https://en.wikipedia.org/w/api.php?action=parse&disablelimitreport=true&format=json&prop=text|langlinks&noimages=true&mobileformat=true&page="+ curTitle + "&callback=?",
    contentType: "application/json; charset=utf-8",
    dataType: "jsonp",
    success: countryPageSuccess
  });
}

function countryPageSuccess(counterObject, data) {
  $.each(data, function(i, item) {...

但如果我按照那个答案做的话

 $.each(JSON.parse(data), function(i, item) {

我得到了

  

未捕获的SyntaxError:位置1的JSON中的意外标记o

1 个答案:

答案 0 :(得分:2)

它已经是一个JSON对象了。你不能再解析它了。

接收HTTP错误代码,在success旁边提供错误回调函数,在下面显示我的代码。



function countryPage() {
  $.ajax({
    url: "https://en.wikipedia.org/w/api.php?action=parse&disablelimitreport=true&format=json&prop=text|langlinks&noimages=true&mobileformat=true&page=1&callback=?",
    contentType: "application/json; charset=utf-8",
    dataType: "jsonp",
    success: countryPageSuccess,
    error: function(jqXHR, textStatus, errorThrown) {
        alert(jqXHR.status);
        alert(textStatus);
        alert(errorThrown);
    }
  });
}

function countryPageSuccess(data, result) {
    $.each(data, function(i, item) {
        console.log(item);
    });
}

countryPage();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;