【问题标题】:from jQuery-ajax to breeze.js (SharePoint ODATA example)从 jQuery-ajax 到微风.js(SharePoint ODATA 示例)
【发布时间】:2013-03-09 11:35:22
【问题描述】:

我开始为我的 ODATA 服务使用微风.js。

我正在使用 SharePoint ODATA api,并且我有一个如何将其与 jQuery-Ajax 一起使用的示例。用微风来完成这项工作真是太棒了。谁能帮我将此 jQuery-Ajax 调用翻译成微风.js? ... 还是把我推向正确的方向?

$.ajax({
  url: “../_api/SP.WebProxy.invoke”,
  type: “POST”,
  data: JSON.stringify({
    “requestInfo”: {
      “__metadata”: { 
        “type”: “SP.WebRequestInfo” },
        “Url”: “http://get_my_data_from_this_url”,
        “Method”: “GET”,
        “Headers”: {
          “results”: [{
            "__metadata": { "type": "SP.KeyValue" },
            "Key": "Accept",
            "Value": "application/json;odata=verbose",
            "ValueType": "Edm.String"
          }]
        }
     }
  }),
  headers: {
    “Accept”: “application/json;odata=verbose”,
    “Content-Type”: “application/json;odata=verbose”,
    “X-RequestDigest”: $(“#__REQUESTDIGEST”).val()
  },
  success: successHandler,
  error: errorHandler
});

您可以在此处看到对 SharePoint WebProxy 的 ODATA 调用。处理跨域调用的简洁功能!

我认为此时的问题是:我可以用breeze.js 构造数据对象吗?

【问题讨论】:

  • 你好。当我测试你的代码时,我得到请求的资源上没有“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。这是我在这里发布的同一个问题:stackoverflow.com/questions/26083657/…

标签: javascript ajax sharepoint breeze webproxy


【解决方案1】:

_/api 是一个 OData v3 端点。目前,AFAIK Breeze 和 JayData 都不完全支持这一点。更糟糕的是,_api/$metadata 并未在 SP2013 的发行版中实现。如果没有元数据文档,就无法自动创建所需的数据模型。

【讨论】:

  • 这很好。尽管使用轻风,您可以在客户端定义元数据,然后使用新的 JsonResultsAdapter 功能来处理 OData v3 json。没试过,但是...
  • 查看 Breeze 1.4.4,OData v3 支持。
【解决方案2】:

从 Breeze 1.4.4 开始,Breeze 现在支持 OData v3。

【讨论】:

  • 很高兴知道,但这真的是问题的答案将这个jQuery-Ajax调用翻译成微风.js ...还是把我推向正确的方向? ;-)
猜你喜欢
  • 2013-09-01
  • 1970-01-01
  • 2013-08-04
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 2016-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多