【问题标题】:How to pass an array of jsons from script section of html file to javascript index?如何将 json 数组从 html 文件的脚本部分传递到 javascript 索引?
【发布时间】:2019-04-02 00:29:34
【问题描述】:

我有一个在 html 文件中创建的 json 数组,我想将其传递给服务器。当我在尝试发布结果之前在控制台中打印出数组时,一切正常。这是我试图传递的内容,它包含在一个名为 results 的变量中:

0: {id: 02934, uName: "Ben", favFood: "ice cream"}
1: {id: 02474, uName: "Sam", favFood: "ice cream"}
2: {id: 01582, uName: "Jamie", favFood: "broccoli"}

但是当我进入 req.body 时,我发现我试图传递的数组有未定义的变量:

我正在尝试通过如下所示的 jQuery 调用发送数据:

$("#sendResults").click((event) => {
    console.log(results);
    $.ajax({
         url: '/entertimes',
         type: 'POST',
         data: results
    });                    
});

我的目标是以一种易于操作的方式将数据传递到服务器,这意味着 如果我输入 console.log(req.body.results[0]) 它将打印出 json 内容那一点。


注意:如果我将代码更新为下面的代码,我可以获得一个 json 数组的字符串,我可能会解析该字符串以获取信息。但是,如果有更简单的方法,我想避免解析它:

$("#sendResults").click((event) => {
    console.log(results);
    $.ajax({
         url: '/entertimes',
         type: 'POST',
         data: {results: JSON.stringify(results)}
    });                    
});

【问题讨论】:

    标签: javascript jquery html arrays json


    【解决方案1】:

    当您从/向服务器和客户端传输数据时,始终采用 json 格式。 json 是一个字符串。发送数据时,应该使用 JSON.stringify() 和 JSON.parse() 来像对象一样使用 json。

    https://en.wikipedia.org/wiki/JSON

    【讨论】:

    • 您对如何从 JSON.stringify() 解析结果字符串有什么建议吗?由于 req.body.results 对象的格式化方式,我不能只调用 JSON.parse(results)。
    • 似乎您没有很好地格式化 json 对象。这是正确的格式[{"foo": 1}, "bar": "some"]
    猜你喜欢
    • 2016-04-05
    • 2018-10-19
    • 1970-01-01
    • 2018-09-03
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    相关资源
    最近更新 更多