2011-05-01 41 views
0

我有一個文本文件,用逗號(,)分隔褻瀆詞。現在我必須通過閱讀這個文本文件來創建一個數組,每一個褻瀆詞應該被存儲到數組中。如果有人知道如何做到這一點,請儘快回覆我。 注意:我必須將這個文件存儲在我選擇的任何地方。我唯一要做的就是通過給文件的完整路徑讀取文本文件。這是沒有必要的解決方案應該是在JavaScript中你可以回答jQuery或AJAX解決方案。 謝謝。如何通過javascript中的文本文件創建數組

+0

隱藏文件的輸入控制是否使用ajax加載文件? – qwertymk 2011-05-01 05:04:22

回答

0

從技術上講,你可以通過做 - http://www.phpletter.com/Our-Projects/AjaxFileUpload/

  1. 上傳文件到您的服務器端代碼,使用JSON數組解析回
 
    def upload_file  
     data = params['fileToUpload'].read 
     render :json => data.split(',') 
    end 
  1. 在你客戶代碼

< input type='file' size='25' name='fileToUpload'>

<button onclick='return ajaxFileUpload();'>Ajax Read</button> 

  1. 在你ajaxFileUpload()方法來處理返回data.split( '')
0

你能夠操縱CSV閱讀它之前手動檔?我有一個類似的問題,但能夠讓生成它的人爲它做一些事情,比如進行全局搜索/替換'\'然後將內容包裝到JS字符串變量中。然後,我只包含新文件,就像其他任何JS文件一樣。

Ex。

<!-- Modified CSV file with single JS variable --> 
<script type="text/javascript" src="csvFile.js"></script> 
<!-- Ben Nadel CSV Parser and any other custom code --> 
<script type="text/javascript" src="parseCsv.js"></script> 

原始CSV:

word,"multiple words",apostrophe's 

修改JS CSV:

var csvData = 'word,"multiple words",apostrophe\'s'; 

然後我用張貼samccone本·納德爾鏈接做實際的解析。

1

這裏是一個jQuery + AJAX解決方案,您可以使用

//HTML 
<input id="file" type="file" /> 
<input type="button" id="load" value="Load CSV" /> 

//JavaScript/jQuery 
$(function() { 

    //Stop caching if csv is likely to change often (change $.get to $.ajax) 
    $.ajaxSetup({ 
    cache: false 
    }); 

    $('#load').click(function() { 

    $.get($('#file').val(), function (content) { 
     var output = content.split(new RegExp(",|\r")) 
          .map(function (element) { 
      //Do what ever tidy up here 
      return $.trim(element).toLowerCase(); 
     }); 
     console.log(output); 
    }); 

    }); 

}); 

測試的CSV從http://en.wikipedia.org/wiki/Comma-separated_values

您可以通過使用這樣的事情http://plugins.jquery.com/project/custom-file

相關問題