0

我向服务器发送一个帖子以在我的数据库中创建一个新的表条目。创建表条目后,我让服务器响应表条目的 id。在 chrome 开发人员工具中,我可以将响应视为一个单数(即,如果它在表中的第五个条目,则服务器响应仅为 5)。如何使用 javascript/YUI 存储这些信息以供以后使用?我是否必须对 Y.io 做点什么:成功功能?

编辑:

    Y.io('/sessionsimulator/sessioncreate/', {
        method: 'POST',
        data: jdtoldstring,
        headers: {
          'Content-Type': 'application/json'
        },
        on: {
            success: buildtable()
        }           
    });

这是发布日期/时间并创建会话 ID 的代码。之后我可以查看 sqlite 表,并看到会话是按照我想要的方式创建的。成功函数 buildtable 是调用以生成模拟数据的代码。在 buildtable() 我有一个全局变量,我试图设置名为 sess_is

sess_id = Y.JSON.parse.responseText;

该语句位于 buildtable() 中,但在创建表时,填充有 sess_id 变量的列是“未定义的”。

我可以在开发人员工具中看到对 url 调用 /createsession 的响应是一个数字,我只是想选择该数字并将其存储在 sess_id 变量中。

4

1 回答 1

1

如果响应只是一个数字,您可以response.responseText在 IO 成功回调中访问它。它是一个字符串,因此您需要将其解析为一个数字:

Y.io(url, {
  //...
  on: {
    success: function (requestId, response) {
      var id = parseInt(response.responseText, 10);
      // do something with the id
    }
  }
});

当您想要发送更多信息而不仅仅是数字时,从服务器发送 JSON 并在 JavaScript 中解析它通常是一个好主意。您可以在 IO 用户指南中阅读有关此内容的更多信息,从响应对象部分开始。

于 2013-07-05T13:19:45.690 回答