简体   繁体   中英

from jQuery-ajax to breeze.js (SharePoint ODATA example)

I am starting to use breeze.js for my ODATA service.

I am using a SharePoint ODATA api and i have an example of how to use it with jQuery-Ajax. To make this work with breeze would be so f-ing awesome. Can anyone help me to translate this jQuery-Ajax call into breeze.js ? ... or push me in the right direction?

$.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
});

Here you can see an ODATA call to the SharePoint WebProxy. A neat feature to handle your cross domain calls!

I think the question at this point is: can i construct the data object with breeze.js?

_/api is an OData v3 endpoint. AFAIK neither Breeze nor JayData support that fully at the moment. To make things worse _api/$metadata is not implemented in the release version of SP2013. Without the metadata document there's no way to automatically create the required data model.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM