2013-10-21 65 views
1

遠程服務器上的.txt文件包含我需要檢索的json語法。我使用jsonp是因爲它在另一個域上。使用jquery ajax jsonp讀取包含json語法的.txt文件

我已經試過這樣:

$.getJSON('http://www.server1.com/json.txt'+'?callback=?', function(data){ 
    console.log(data);  
}); 

.txt文件是here 但我得到一個錯誤時,第一個名稱 - 值對的JSON的是 「經分析」:

意想不到的令牌:

我試過改變txt.json並添加了一個var mydata={ jsonSyntax }這種方式我沒有得到錯誤,但沒有數據記錄到控制檯。 那麼我怎麼能用jsonp請求和解析json.txt?

+1

對於JSONP給你不應該使用$ .getScript代替$的工作。的getJSON? –

+1

最有可能你的json不是jsonp,這就是爲什麼要求它作爲JSONP失敗。 –

回答

0

jsonp通過在回調函數中將數據包裝在服務器上工作。大多數服務器將允許您指定回調。由於您有一個靜態文本文件,因此您需要將函數名稱硬編碼到文本文件中,然後在您的ajax調用中將該名稱指定爲參數。

更改json.txt文件到這一點:

callback({ jsondata });

而且你的Ajax調用此:

$.ajax({ 
    ... 
    dataType: 'jsonp', 
    jsonpCallback: 'callback' 
}).done(function(data) { 
    console.log(data); 
});