2014-03-12 57 views
0

我想通過使用jQuery的Yahoo查詢語言(YQL)從JSON獲取數據。未捕獲的SyntaxError:意外的標記:YQL jQuery

Link to JSON

的index.html

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 

    $.ajax({ 
     url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D'http%3A%2F%2Fwww.unisul.br%2Fwps%2Fportal%2Fhome%2Fconheca-a-unisul%2Fa-universidade%2Fcampus-unisul-virtual%2Fpolos-presenciais'%20and%20xpath%3D'%2F%2F*%5B%40id%3D%22lista-polos%22%5D'&format=json&diagnostics=true&callback=", 
     dataType: 'jsonp', 
     success: function (response) { 

      var polos = response.results[0]; 
      var getPolosHTML = ''; 

      console.log(polos); 

     } 
    }); 
</script> 

錯誤控制檯: Uncaught SyntaxError: Unexpected token :

任何解決方案?

+0

@Pogrindis爲什麼?他沒有發送json到yql,他從yql收到它 –

+0

你是對的..那麼在'響應'中是什麼呢? – Pogrindis

+1

您的網址中缺少1個字符。 'callback ='應該是'callback =?'。儘管由於JSON的格式,它當然仍然會失敗。 –

回答

1

首先,你必須設置的URL,以便jQuery將在JSONP PARAM只需添加一個?callback=

...&callback=? 

話,就得修改成功回調至適當引用數據。

var polos = response.query.results; 
console.log(polos); // object with a div property 

http://jsfiddle.net/jZ4n8/1/

+0

謝謝!對數據的引用已經忘記改變。但是,回調後的'?'是必不可少的!再次感謝! –

-1

有一個在代碼中沒有錯誤。 api的輸出無效。你可以交叉檢查json結果(http://jsonlint.com/)。

+1

它是有效的。最有可能的情況是,當你複製json時,你沒有得到全部。 –

相關問題