如何存储和使用服务器响应信息?

时间:2013-07-05 13:00:35

标签: javascript sqlite yui

我向服务器发送帖子以在我的数据库中创建新的表条目。创建表条目后,我让服务器响应表条目的id。在chrome开发人员工具中,我可以看到响应只是一个单数(即如果它是表中的第五个条目,服务器响应只是5)。如何使用javascript / YUI存储此信息以便以后使用?我是否必须对Y.io on:success function做什么?

修改

    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 call / createsession的响应是一个数字,我只是想选择那个数字并将其存储在sess_id变量中。

1 个答案:

答案 0 :(得分:1)

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

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

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