2016-03-22 26 views
0

我正在使用傳單,mapbox和omnivore構建地圖。我有一個.kml文件,上面有一個標記列表。標記在桌面上使用離子服務加載罰款,但不是當我真的在移動設備上運行它(我已經測試了Android/IOS)。離子http獲取本地文件給出http錯誤代碼0?

我知道雜食加載這個文件使用XHR請求,所以我決定來測試自己:

test = function() { 
     $http.get('/kml/file.kml').success(function(data, status, headers, config) { 
     alert('Success!: ' + status); 
     }) 
     .error(function(data, status,headers,config) { 
      alert('FAILURE!: ' + status); 
     }); 
    } 

我拿到桌面上200次的成功,但是當我在移動設備上運行它使用離子視圖或建立它爲Android我得到失敗,錯誤代碼0.

我不知道爲什麼這是發生在移動設備上,我有<access origin="*"/>在我的config.xml。

任何幫助將不勝感激,謝謝!

回答

1

Dont't知道你正在運行的版本角的,但$http.success$http.error一直deprecated(因爲v.1.4.4我認爲),被替換成功和錯誤回調函數

$http.get('/kml/file.kml').then(
    function successCallback(response) { 
    console.log(response); 
    }, function errorCallback(error) { 
    console.log(error); 
}); 

不確定如果這是你的問題,但嘗試更新你的角度和/或改變你的代碼,看看這是否有任何區別。

+0

感謝您的提示,我不知道成功/錯誤已貶值。我上面發佈了我的解決方案,感謝您花時間回答我的問題。 –

0

嗯,我想出瞭解決方案。當離子服務器將網站作爲服務器放置時,我在URL中的前導斜槓被正確讀取的文件中,但在移動設備上使用離子時,使用file://協議和前導斜槓啓動應用程序造成衝突。

tldr;刪除了主要的斜線,一切都很好。