2015-03-30 116 views
1

我想實現爸爸解析,但我不想使用jquery庫。有人可以告訴我如何解析在正常的JavaScript使用文件形式我的本地存儲?如何在沒有jQuery的情況下使用Papa Parse?

好的,所以當我這樣做時,我得到的是字符串值而不是csv值。我究竟做錯了什麼?另外,我在哪裏插入我想要使用的回調函數?

function parseMe(url) { 
    Papa.parse(url, { 
     complete: function(results) { 
      console.log(results); // results appear in dev console 
     } 
    }); 
} 

parseMe('csv/test.csv'); 
+1

PapaParse不需要jQuery,文檔非常清晰。具體來說,你的問題是什麼? – 2015-03-30 23:22:22

+0

我想爲我的csv中的每一行創建一個javascript對象。我想第一行是問題,第二行是名字。我該如何做到這一點,以便我可以在需要時訪問任何行。你能否提供代碼? – 2015-03-31 00:57:16

+0

@MattButler你不能讓人們在這裏寫代碼,對不起。嘗試一下,如果你仍然有問題,編輯你的問題,包括你的嘗試。解析文件很容易。看看文檔;演示頁面的來源可能也是您感興趣的一個工作示例。 – Matt 2015-03-31 01:00:08

回答

1

關閉,但file不是字符串,它是從DOM(docs)得到的File對象。爲此,您需要在頁面中放置一個<input type="file">標籤。用戶將不得不選擇文件。在他們選擇了一個文件之後,您可以獲得類似document.getElementById("file").files[0]的File對象 - 假設您已經爲輸入標籤提供了一個ID爲「file」的ID。

此外,您可以刪除配置對象中的所有垃圾,因爲這些都是默認設置。

function parseMe(file) { 
    Papa.parse(file, { 
     complete: function(results) { 
      console.log(results); // results appear in dev console 
     } 
    }); 
} 

parseMe(document.getElementById("file").files[0]); 

解析文件是異步的,所以你必須得到在後來執行的回調函數的結果。

+0

我懷疑你是JavaScript新手。我推薦閱讀一些基本的東西,例如如何與DOM進行交互(MDN有一些很好的教程)以及什麼異步代碼是/爲什麼回調是必要的。在這一點上,我認爲這將比我會更有幫助。 – Matt 2015-03-31 04:43:36

+0

好的,會做的。謝謝您的幫助。 – 2015-03-31 04:46:00

相關問題