我向服务器发送帖子以在我的数据库中创建新的表条目。创建表条目后,我让服务器响应表条目的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变量中。
答案 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开始阅读有关此内容的更多信息。