了解如何将 dojo.store.memory 数据类型发送到服务器
Posted
技术标签:
【中文标题】了解如何将 dojo.store.memory 数据类型发送到服务器【英文标题】:Understanding how to send dojo.store.memory datatype to the server 【发布时间】:2014-04-02 19:27:29 【问题描述】:我不熟悉使用 Dojo 框架。我已经实现了 dgrid 来收集数据,这非常适合在数据输入期间从客户端存储、查询、更新和删除数据。但是,一旦 dojo.store.memory 数据类型有数据,我想使用 ajax 请求将 dojo 对象发布到服务器。
我想以 json 格式将数据发布到服务器,但是我无法将对象 (myStore) 转换为 json 字符串。下面是我迄今为止所尝试的:
JavaScript 函数
function SendForm()
var jsonIdObj = JSON.stringify(myStore);
dojo.xhrPost(
url:'processData',
form:dojo.byId('myForm'),
postData:jsonIdObj,
success: function()
console.log('success');
,
error: function()
console.log('error occured');
);
数据存储
var myStore = new dojo.store.Observable(new Memory(data: data, idProperty:"typeId"));
数据
var data = [ id:"1",age:"33",idtype:"1" ,first_name: "Edward", surname: "Davis" ,
id:"2",age:"41",idtype:"2" ,first_name: "Lewis", surname: "Holl",
id:"3",age:"59",idtype:"3" ,first_name: "Fred", surname: "James"];
【问题讨论】:
【参考方案1】:首先,您要对store.data
进行字符串化,而不是对store
本身进行字符串化。 dojo/store/Memory
在 store 的 data
属性中维护数据本身。
其次,您可能不想在 XHR 调用中同时指定 form
和 postData
- 在这种情况下您可能只需要 postData
。当form
被指定为dojo.xhrPost
时,它会被转换成一个对象传递给postData
。
第三,如果您使用的是 Dojo 1.8 或更新版本,您应该考虑使用新的dojo/request
API。
【讨论】:
再次感谢您能否指出我在单击向导表单上的下一步按钮时如何发布“数据”的示例。我知道我必须在向导窗格中将函数附加到 passFunction以上是关于了解如何将 dojo.store.memory 数据类型发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章