将JSON从Dojo JsonRest加载到对象变量中
Loading JSON from Dojo JsonRest into object variable
根据这篇文章从JSON中删除字符串,我想用JSON数据填充一个Dojo选择框。问题是,我必须改变JSON数据之前,我可以分发数据到dijit.form.select框。
我通过JsonRest获得数据。问题是,我如何将Json数据加载到普通对象变量中?我在这里试了一下,但是没有工作。
var processStore = new JsonRest({
target: "http://cnwin.ebusiness.local/activiti-rest/service/repository/process-definitions?startableByUser=kermit",
headers: {"Authorization": "Basic a2VybWl0Omtlcm1pdA=="},
allowNoTrailingSlash: false
});
var processes = processStore.query("",{});
我只是想从JsonRest存储中加载JSON数据到一个普通变量中。
谢谢
JsonRest
store只接受数组,因此您无法检索数据,因为您的store无法为您读取该数据。
如果您只对读取数据感兴趣(因此不需要更新/创建/删除),最简单的方法是使用AJAX请求检索该数据并手动将其放入dojo/store/Memory
存储中,例如:
require([ "dojo/request/xhr", "dojo/store/Memory" ], function(xhr) {
var url = "http://cnwin.ebusiness.local/activiti-rest/service/repository/process-definitions?startableByUser=kermit";
xhr(url, {
handleAs: json
}).then(function(data) {
if (data.data !== undefined) {
var myStore = new Memory({
data: data.data
});
// Do something with "myStore"
});
});
如果您对JsonRest
存储的全部功能感兴趣,您将不得不自己扩展它。如果您查看代码,可以看到几个AJAX请求,在:
-
get()
-
put()
-
remove()
-
query()
现在您可以编写自己的存储并扩展这些方法。
相关文章:
- 如何在HTML中显示服务器对象变量
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- Javascript 方法看不到对象变量
- JavaScript对象范围-在对象方法中使用对象变量
- 将对象(变量)传递给angularjs指令
- 对象变量在 JavaScript 中是不可访问的
- 无法访问公共JavaScript对象变量
- 可以't获取具有“t”的对象变量;这个“;由setTimeout()函数调用的对象函数中的属性
- Javascript:如何在回调中设置父对象变量
- 从方法内部设置对象变量
- 访问对象中的对象变量
- JavaScript 中的对象变量
- 从 json 代码中删除 javascript 对象变量名称文本
- 将变量传递到对象变量中
- JavaScript 如何重新识别事件对象变量
- 从对象变量中获取子节点
- 使对象变量在所有“更深”的范围内都是可访问的
- 从方法 JavaScript 访问对象变量
- 如何在 javascript 中保存对象变量的状态
- 无法访问IE和Mozilla中javascript的类对象变量