2016-12-16 77 views
0

我目前正在調查與我的node.js應用程序的問題。 基本上我想發送一個文件使用表格數據(工作正常),然後解析該文件,並創建一個數組內容的文件數據,然後將其發送回客戶端。 這裏是一個樣本:發送文件到Node.js檢索數組

<form id="uploadForm" action="/upload" method=POST enctype=multipart/form-data> 
     <input type='file' name='fileInput' /> 
     <input type="submit" value="Upload File" id="subFile"> 
    </form> 

從我的.ejs模板。

我Ajax中的形式數據的javascript可見:

document.getElementById('uploadForm').onsubmit = function (e) { 

    $.ajax({ 
     type: 'POST', 
     url: 'upload', 
     processData: false, 
     contentType: false, 
     data: new FormData(this), 
     success: function (data) { 

      var map = JSON.parse(data); 
      console.log("data"); 
      for (var i = 0; i < map.length; i++) { 
       console.log("asdasdasd" + map[i]); 
      } 

     } 
    }); 
    e.preventDefault(); 
    return false; 
}; 

在服務器端,我創建包含下列對象的數組:

var objects = 
    { 
     item1: 0, 
     item2: "", 
     additional: [] 
    }; 

我簡單地將數據推送到objects.additional然後將對象推送到數組。

現在我想把它發回給客戶端,用數據更新任何東西。

res.end(JSON.stringify(map)); 

我收到這些錯誤:

「 語法錯誤:JSON.parse:意外的字符位於第1行的JSON數據ajax.js第2欄:18:27 .success本地主機:1337/js/ajax.js:18:27 ._Deferred/e.resolveWith ajax/libs/jquery/1.6.4/jquery.min.js:2:15710 w ajax/libs/jquery/1.6.4/jquery.min .js:4:8977 .send/d ajax/libs/jquery/1.6.4/jquery.min.js:4:14788 「

and

「沒有很好地形成」 - 指向上傳:1:1

+0

給你更多的服務器端代碼..什麼是地圖? – Alon

回答

0

看起來你有地圖變量的錯誤。也許它不是一個很好的對象。

,您可以使用web應用程序來檢查對象的正確的JSON像 http://jsonlint.com/

你可以把地圖對象的例子嗎?

+0

這不是一個答案。這應該是一個評論.. – Alon