2014-07-25 83 views
0

我正在使用javascript訪問媒體wiki api並返回JSON,但是當解析/訪問返回的數據並將數據變量插入到現有的div中時,我收到未定義的數據。這裏是我的腳本代碼:MediaWiki api在javascript中JSON解析錯誤

$.getJSON("http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images", function(data) { 
    var datax = $.parseJSON(data); 
    var datastr = datax.images[2]; 
    console.log(datastr); //prints nothing to the web console 
}); 

鏈接本身正在適當地相信,返回一個JSON: http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images

這可能是要麼我訪問API,或只接收方式有問題/解析JSON。最後,我需要圖像「001Bulbasaur.png」。謝謝!

**將datax.images [2]更改爲datax.parse.images [2]返回相同的未定義。

回答

0

變化

var datastr = datax.images[2]; 

要:

var datastr = datax.parse.images[2]; 

更新:看來你是有交叉的起源問題,它不是發出請求。這應該工作:

$.ajax({ 
    dataType: "jsonp", 
    url: "http://bulbapedia.bulbagarden.net/w/api.php?action=parse&format=json&page=Bulbasaur_%28Pok%C3%A9mon%29&prop=images", 
    success: success 
}); 

function success(datax){ 
    var datastr = datax.parse.images[2]; 
    console.log(datastr); //prints 001Bulbasaur.png 
} 

小提琴:http://jsfiddle.net/mRU3M/

+0

這樣做後,我仍然收到未定義。 – Pran

+0

@Pran檢查更新 – juvian

+0

這將打印到解決一個問題的控制檯,但是當我嘗試將其插入到HTML中時,它仍會產生未定義:http://jsfiddle.net/mRU3M/1/。這可能是一個單獨的問題,而不是問題提出的問題。 – Pran