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

2

1

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?

Threephase answered 9/3, 2013 at 11:35 Comment(1)
Hello. When I test you code I get No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. This is the same question I have posted here: #26084157Shoop
T
1

_/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.

Towel answered 9/3, 2013 at 11:35 Comment(2)
That's a good point. Although with breeze you can define the metadata on the client, and then use the new JsonResultsAdapter functionality to process the OData v3 json. Haven't tried it, but ...Valvular
See Breeze 1.4.4, OData v3 support.Valvular
V
0

As of Breeze 1.4.4, Breeze now supports OData v3.

Valvular answered 9/3, 2013 at 11:35 Comment(1)
Good to know, but is that really an answer to the question translate this jQuery-Ajax call into breeze.js ... or push me in the right direction? ;-)Towel

© 2022 - 2024 — McMap. All rights reserved.