javascript - dijit.form.ComboBox 无法与 dojox.data.JsonRestStore 一起使用

标签 javascript rest dojo

我的商店定义如下:

my_store = new dojox.data.JsonRestStore({
    target: '/my/rest/url/to/get/data'
});

我定义了 ComboBox 来与该商店一起使用:

myComboBox = new dijit.form.ComboBox({
    store: my_store,
    searchAttr: "name",
    pageSize: 20,
    autoComplete: true,
    hasDownArrow: false,
    highlightMatch: "all",
    style: "width: 80%; height: 17px; float: left",
    onChange: function () {
        // Do something with my tree
    },
    labelFunc: function (item, store) {
        var splits = item.path[0].split("/");
        var label = item.name[0] + " ("
            + splits.slice(0, splits.length - 1).join("/") + ")";
        return label;
    }
}, "searchBox");

但我无法让它工作。 ComboBox 不显示任何内容。 但是当我使用 dojo.data.ItemFileReadStore 时它工作正常。

您能提出任何解决方案吗? 顺便说一句,我需要使用 JsonRestStore 因为我用它来延迟加载树。

最佳答案

请检查浏览器控制台中的网络选项卡,以验证剩余调用是否正在进行。可能需要完全限定的 url。例如:'http://localhost//my/rest/url/to/get/data '

或者,您可以使用 dojo.xhrGet 返回 Json 结果并从中创建 dojo.data.ItemFileReadStore。当您实际执行 ajax 调用时,这也会加载组合框。

谢谢

关于javascript - dijit.form.ComboBox 无法与 dojox.data.JsonRestStore 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030973/

相关文章:

javascript - 同步相互依赖的 Dojo 小部件/值

javascript - 动态验证和格式化邮政编码

javascript - 帮助 MongoDB 和唯一 ID 生成

node.js - Sequelize REST API 生成器

javascript - 如何将自定义 url 与 ember-data 一起使用?

java - cometd 客户端连接到多个服务器

javascript - 如何动态更新道场树数据

php - ajax append导致javascript被执行多次

javascript - 确定浏览器是否支持 iFrame 中的 javascript?

api - 在 Firebase 的 POST 请求中丢弃空数组