问题标签 [datajs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2373 浏览

odata - 如何使用 odatajs 读取 OData v4 端点?

我正在尝试使用 Olingo OData Client for JavaScript (odatajs) 读取简单的 OData v4 端点。

Olingo odatajs 网页 说:

您也可以使用 datajs 库中的文档和示例,因为功能和 API 相似。

所以我尝试用这段代码读取 OData 端点:

但是代码给出了这个错误:

使用 jquery/ajax 它总是调用错误函数,但您可以使用 fiddler 查看响应。

0 投票
1 回答
1106 浏览

javascript - OData Uri 批量返回 404,而如果我转到提供的 url,它可以工作。为什么?

我正在使用 ODataController 来获取我的查询结果。控制器是这样定义的:

如果我直接去控制器它工作。我的路线已设置好,以便我可以访问此 URL:

路由配置如下所示:

GetModel() 如下所示:

如您所见,我启用了 defaultOdataBatchHandler。这

工作顺利。下一步是创建批处理语句,由 datajs 完成,如下所示:

批处理查询得到它所需要的,并返回一个 HTTP 200。这太棒了。转换为 的查询http://localhost:58704/odata/Run返回 HTTP 404。我终生无法理解为什么。

说的行console.log(data.__batchResponses)返回 1 个对象,该对象具有消息属性说;“HTTP 请求失败”,在响应中正文说:

如果我使用错误消息中显示的 url,它可以正常工作。可能是method: "GET"批处理中的请求无法正常工作吗?

0 投票
1 回答
623 浏览

cors - 使用需要使用 BreezeJS 进行 Windows 身份验证的 Web API 2 OData 端点

有没有人有过让 Breeze(或就此而言的 DataJS)与需要 Windows 身份验证并托管在不同服务器上的 Web API 2 OData 端点进行通信的经验?

我已成功配置 Web API 以启用 CORS,并且能够使用 jQuery 向 OData 端点发起跨域请求:

但是,尝试使用 Breeze 总是会在 Chrome 中出现以下一组错误:

我认为问题不是由 BreezeJS 库而是由 DataJS 提出的,所以我重新编写了代码以使用 DataJS 进行测试。但是,我不知道如何告诉 OData.read 使用当前凭据发出请求......所以,我尝试了下一个最好的方法(我希望在生产环境中避免):

错误仍然存​​在......关于如何克服这个问题的任何想法?我讨厌使用 jQuery……这是一个很棒的库,但我希望使用 DataJS 加快开发周期。

一个主要警告...由于客户要求,解决方案必须支持 IE 8。这只是让 JayData 退出了竞争。

0 投票
0 回答
21 浏览

javascript - DataJS:将 OData.read() 结果存储在本地和全局变量中未定义

我试图将我的 OData.read 结果传递给全局变量和局部变量,但最终,它们中的每一个都是未定义的。

0 投票
1 回答
1100 浏览

javascript - Breeze.js OData v4 错误

我正在尝试使用 Breeze.js 版本 1.5.3 创建一个简单的 JavaScript 应用程序。它是使用 OData v4 服务。该服务是使用 ASP.NET WebApi 2 创建的。

包含的脚本:

下面是配置 Breeze 的 EntityManager 的代码:

代码失败并出现以下错误:Uncaught TypeError: Cannot read property 'oData' of undefined 这是失败的片段breeze.debug.js(大约第 16591 行):

我已经搜索datajs-1.1.3.js并没有找到“V4”符号。此外,这个库的作者说它只支持 OData v3。有些人建议使用odatajs-4.0.0-beta-01.min.js这里的http://olingo.apache.org/doc/javascript/datajs ,但在breeze.debug.js源代码中有明显的依赖关系。我试图odatajs-4.0.0-beta-01.min.js在我的页面中包含脚本,但它没有帮助。

有人知道如何让 Breeze.js 与 OData v4 服务一起工作吗?

0 投票
0 回答
175 浏览

asp.net - Web API 2 中的 Http 批量响应未完成

HttpBatchResponseMessage 响应永远不会在我的机器上完全返回,它只返回标头但不完成请求。我尝试了以下 OData 示例,它在我同事的机器上运行良好:

http://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v3/ODataEFBatchSample/ReadMe.txt

(超级简单的尝试,下载,启动,在浏览器或提琴手中显示网络请求)

我真的很感激进一步调查的想法!

响应

从 POST 到http://localhost:15625/odata/ $batch 只返回没有任何内容的标题

想通了...

返回的标头已经说明了响应的长度(Content-Length:2114)。我尝试注入一些自定义类并发现:

  • 在我同事的电脑上工作
  • 返回 ODataBatchContent 时出现问题,因为我使用了 StringContent 代替(这不起作用)
  • 序列化到 MemoryStream 时,ODataBatchContent 序列化得非常好

我试过了

  • 禁用任何防火墙、防病毒软件、软件等。
  • 更新 Visual Studio 等,我的配置与我同事的配置几乎相同
  • 调试...很多

要求

POST 到 /odata/$batch

状态码:202 接受

标题:

谢谢。

0 投票
2 回答
713 浏览

javascript - 微风 | datajs - 没有数据处理程序

我是微风世界的新手,但我想在我的应用程序中使用它。我尝试使用基于 Northwind.sdf 数据库的简单 ASP.Net Api OData 服务对其进行测试。

在 DataService 项目中,我有一个简单的控制器:

在客户上,我打电话给:

此方法中 datajs.js 文件出现问题

它总是抛出“没有数据处理程序”异常,但我不明白。已经有一些默认的 odata 处理程序,例如

有人可以帮我解决这个问题吗?谢谢。

0 投票
1 回答
683 浏览

node.js - 如何在 NodeJS 中将 MS SharePoint $metadata XML 响应转换为标准 Odata JSON?

我正在处理 MS SharePoint 2013 集成,在我的用例中,我只想处理 JSON 数据。
我能够使用节点模块 - datajs_vanilla将所有 API XML 响应(如文件、文件夹、列表、ListItem 等)转换为 OData JSON ,但我无法将https://mysite/_api/ $metadata转换为 OData JSON。为 $metadata 端点执行 datajs 时出现以下错误:

下面是我的代码片段:

我在这里遗漏了一些要转换为 JSON 的东西?
或者
您能否建议我使用节点模块将 edmx sharepoint $metadata XML 响应转换为 OData JSON 的可能解决方案?

谢谢。

0 投票
0 回答
264 浏览

javascript - 将 datajs-1.1.2.min.js 加载到 SAP UI5 应用程序中

我需要将 JS 库 datajs-1.1.2.min 加载到我的 SAP UI5 应用程序中,但 UI5 框架会自动在路径 ui/thirdparty 下加载自己的 datajs.js,即旧版本。

我将 datajs-1.1.2.min 放入我的应用程序文件夹并导入 index.html 页面,以便加载库但我无法使用它。应用程序继续调用旧库。

有没有办法强制应用程序使用新库?谢谢

0 投票
1 回答
471 浏览

webpack - 如何配置 WebPack 以支持 Breeze-Client+DataJS 的“global.window”

我正在尝试将一个项目从 SystemJS 转换为 WebPack,该 WebPack 使用的是微风客户端和 datajs(用于 OData 支持)。总的来说,这是一个 angular2 应用程序,因此轻风桥 angular2 也是该项目的一部分。

虽然 SystemJS 版本运行良好,但 WebPack 版本会抛出错误:

无法初始化 OData。需要支持远程 OData

显然,问题是微风客户端无法在 global.window.OData 中找到 OData 库。一些快速调试表明,根本原因似乎是“global.window”通常未定义(在函数__requireLibCore 中)。请注意,datajs 似乎已正确包含在 webpack 中,因此问题不是缺少 datajs,而是通常来说,微风客户端无法访问“窗口”。

调试详细信息

我对整个主题都很陌生,所以我很难找到正确的解决方案。我相信需要在 webpack 中配置一些东西才能使其工作,但我不确定这可能是什么 - 我很抱歉在这里含糊不清 - 也许是 webpack.config.js 中的一些导入加载器或 ProvidePlugin 参考。

任何帮助将非常感激。