2016-12-16 36 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