从rest api动态提取dojo组合框选项

时间:2014-06-03 21:38:54

标签: javascript json rest dojo

我正在寻找使用来自json rest api的值动态填充dojo组合框。理想情况下,用户将其字符串输入到组合框中,返回相关字符串的“get”调用,并使用这些结果填充选择选项。

JsonRest store似乎是一种很好的方法,但到目前为止我的尝试都没有成功。我遇到两个问题:

  1. 我的rest api返回一个字符串列表,而组合按钮期望一个具有指定键的对象列表用作名称/值。我无法访问api所以我无法更改响应结构。 - 固定

  2. json rest商店正在进行的'get'调用是在查询末尾添加一个星号,这是不可取的。 - 固定

  3. 我的设置如下:

    this.testStore = new JsonRestStore({
                target: "myUrl",
                allowNoTrailingSlash: true
    });
    
    this.dapComboBox.set('store', this.testStore);
    this.dapComboBox.set('searchAttr', 'tag');
    

    更新1

    我已经找到了星号问题,通过将组合框的'queryExpr'属性设置为'$ {0}'来修复它

    更新2

    我通过使用get,getIdentity和query函数创建自己的基本商店来解决不可用的列表问题。在我的新查询函数中,我返回了一个新的延迟对象。我处理了get请求中返回的值以适合正确的格式,并使用我的新延迟解析了这个新列表。

1 个答案:

答案 0 :(得分:0)

问题1:通过将组合框的'queryExpr'属性设置为'$ {0}'来修复

问题2:使用get,getIdentity和查询函数创建我自己的基本商店。在我的新查询函数中,我返回了一个新的延迟对象。我处理了get请求中返回的值以适合正确的格式,并使用我的新延迟解析了这个新列表。