了解如何将 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 调用中同时指定 formpostData - 在这种情况下您可能只需要 postData。当form 被指定为dojo.xhrPost 时,它会被转换成一个对象传递给postData

第三,如果您使用的是 Dojo 1.8 或更新版本,您应该考虑使用新的dojo/request API。

【讨论】:

再次感谢您能否指出我在单击向导表单上的下一步按钮时如何发布“数据”的示例。我知道我必须在向导窗格中将函数附加到 passFunction

以上是关于了解如何将 dojo.store.memory 数据类型发送到服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用“之前”选项将项目添加到道场商店

dojo创建tree

Dojo Dijit - 小部件中的小部件

gridx 显示我的动态数据的最后一条记录

如何将片段中的 ListView 对象的数据传递给 Activity?

对于爬虫技术,你了解多少?