【问题标题】:Sending a File to Node.js retrieve an array向 Node.js 发送文件检索数组
【发布时间】:2017-05-02 06:31:29
【问题描述】:

我目前正在调查我的 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 模板。

我通过 javascript ajax 表单数据:

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));

我收到以下错误:

" SyntaxError:JSON.parse:JSON 数据 ajax.js:18:27 的第 1 行第 2 列的意外字符 .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 "

“格式不正确” - 指向上传:1:1

【问题讨论】:

  • 提供更多你的服务器端代码..什么是地图?

标签: javascript html arrays json node.js


【解决方案1】:

您的地图变量似乎有误。也许它不是一个结构良好的对象。

您可以使用 webapp 来检查对象是否是正确的 JSON,例如 http://jsonlint.com/

你能举个地图对象的例子吗?

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多