0

我正在运行一个生成随机数据并将其显示在 HTML 表中的网页。从表中我运行一个循环来收集基本信息(所有存在的行并排除表的标题)。此数据存储在名为 jData 的 JSON 对象中。

我想将此数据发送回服务器并存储在名为 data 的 sqlite 表中。我试图做到这一点的方式是通过 YUI IO 实用程序。

我正在尝试浏览 API 文档,但我没有运气。我在页面上有两个按钮。一种是生成数据,然后是存储数据。店铺代码如下:

var savedata = function(){
    var tabledata = Y.one("#generatedtable")._node;
    var jData = [];
    var i = 1;
    var length = tabledata.rows.length
    while (i<length){
        var samplerow = {};
        var r = tabledata.rows[i];
        samplerow.timestamp = r.cells[0].innerHTML;
        samplerow.volts = r.cells[1].innerHTML;
        samplerow.amps = r.cells[2].innerHTML;
        samplerow.kW = r.cells[3].innerHTML;
        samplerow.kWh = r.cells[4].innerHTML;
        jData.push(samplerow);
        i++;
        }

Y.io("./savedata", Y.System_Config.postjData(jData));
};

使用 chrome 调试器工具,我看到数组被正确存储到 jData 中。我需要一些关于 Y.io 的基本帮助以及如何发帖。非常感谢任何基本的帮助。我的服务器在 Django Python Web 应用程序框架中运行。

4

1 回答 1

3

您应该阅读IO 用户指南。在 YUI 中使用 JSON 数据发出 POST 请求就像将 HTTP 方法设置为 POST、添加数据并设置Content-Typeapplication/json. 唯一需要注意的是,您需要先将 JSON 对象转换为字符串,然后使用JSON.stringify().

Y.io('/savedata', {
  method: 'POST',
  data: Y.JSON.stringify(jData),
  headers: {
    'Content-Type': 'application/json'
  },
  on: {
    success: function (id, response) {
      // do something with the response from the server, for example
      Y.one('#some-node').set('text', response.responseText);
    }
  }
});

您可以在用户指南的“配置对象”部分阅读有关 IO 的所有配置选项的更多信息。有一个带有 JSON 数据的 POST 请求的示例。

于 2013-06-28T15:28:39.087 回答