2013-04-05 72 views
1

我試圖加載從遠程服務器的一些.csv文件(所以我必須處理領域問題),和我使用JSONP用下面的代碼使用jQuery獲得跨域csv文件

sql="a csv file link" 

$.ajax({ 
url:sql, 
dataType:'jsonp', 
}).done(function(){ 
    console.log("done"); 
}).error(function(){ 
console.log("err"); 
}).fail(function(){ 
console.log("fail"); 
}).success(function(){ 
console.log("success"); 
}); 

一些如何,這段代碼給了我2個不同的結果。

1)在某些csv文件鏈接上,它似乎獲取完整的csv文件。但是,有一個錯誤說csv文件有一個「語法錯誤」,並且.error和.fail被執行。

2)在其他一些csv文件鏈接(類似於http:// host.com:port/file.csv?從表中選擇),不知何故發生任何事情。 .done/.success不會被調用,也不會調用.fail/.error

任何人都可以告訴我上述問題的解決方案或可能的原因嗎?

謝謝!

回答

1

如果遙遠而明亮服務器允許JSONP,使用類似下面的:

sql="a csv file link"+"?callback=myFunc"; 

凡myFunc的是一個用戶定義函數來從遠程服務器處理數據。

另一種方法是使用代理如下所述:https://stackoverflow.com/a/2559062/1186628

[更新]

這裏是一個什麼myFunc的可能看起來像一個非常簡單的例子:

function myFunc(data){ 
    alert(data); 
} 
+0

嗯,你能不能舉一個myFunc的例子?真的很感激:) – user1948847 2013-04-05 20:47:21

+0

@ user1948847請看更新。 – 2013-04-05 20:53:19