javascript - 使用 Breezejs 生成查询字符串

标签 javascript odata breeze

我有一个自定义 Odata 端点,它通过正文中的帖子而不是查询字符串对其进行过滤。目前,所有查询都是手工编码的,然后输入到帖子中。 我想知道是否有人知道我是否可以使用 Breezejs 来创建我需要的查询。

干杯

最佳答案

根据Controlling AJAX中的“OData AJAX”部分您需要对 data.js 副本进行更改,以便使用 POST 而不是 GET。

如果您不介意轻松加载数据,而只想使用 EntityQuery 语法来构建查询,您可以尝试获取 breeze odata uriBuilder 的实例。并调用 buildUri 方法将 EntityQuery 转换为 odata uri。假设可行,只需获取 uri 的查询字符串组件以在 POST 正文中使用即可。

var interfaceRegistry = breeze.config.interfaceRegistry,
    uriBuilderInterface = interfaceRegistry.uriBuilder,
    uriBuilderCtor = uriBuilderInterface.getImpl('odata').ctor,
    uriBuilder = new uriBuilderCtor(),
    uri = uriBuilder.buildUri(entityQuery, metadataStore);

可能有更好/更简单的方法来做到这一点......也许通过从 Breeze odata dataService 实例中获取 uriBuilder 。我不认为这是 Breeze 支持/记录的公共(public) api 的一部分,但听起来它会是一个很好的功能建议,可以发布在 user voice 上。地点。

关于javascript - 使用 Breezejs 生成查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27488522/

相关文章:

javascript - Ajax 加载评论不起作用

javascript - 如何限制ckeditor中的编辑区域?

javascript - 如何在 JavaScript 中创建自定义事件?

c# - 我可以更改用于 ODataController 请求的 ODataQueryOptions 吗?

c# - OData v4 扩展语法返回错误 "...The property ' ProductType' 不能用于 $expand 查询选项。”

javascript - Breeze : calling savecChanges for a classic ODATA service fails

javascript - Flickr 旋转木马拉伸(stretch)图像 HTML, CSS

mysql - BreezeJS 可以与 MySQL + NodeJS + AngularJS 一起使用吗?

javascript - 使用 Kendo UI 网格和 Breeze.js 超出了最大调用堆栈

sql-server - 是否可以从 SSIS 源动态创建表