2013-03-09 6 views
1

Я начинаю использовать breeze.js для моего сервиса ODATA.от jQuery-ajax до breeze.js (пример SharePoint ODATA)

Я использую api SharePoint ODATA, и у меня есть пример того, как использовать его с jQuery-Ajax. Сделать эту работу с бризами было бы так здорово. Может ли кто-нибудь помочь мне до перевести этот вызов jQuery-Ajax в breeze.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 
}); 

Здесь вы можете увидеть вызов ODATA веб-прокси SharePoint. Оптимальная функция для обработки перекрестных доменных звонков!

Я думаю, что вопрос на этом этапе: я могу построить объект данных с помощью breeze.js?

+0

Здравствуйте. Когда я тестирую код, я получаю Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе. Поэтому исходный 'null' не допускается. Это тот же вопрос, который я разместил здесь: http://stackoverflow.com/questions/26083657/accesing-sharepoint-online-from-various-clients – espenk

ответ

1

_/api - конечная точка OData v3. AFAIK ни Breeze, ни JayData не поддерживают это в настоящий момент. Чтобы сделать что-то еще, метаданные _api/$ не реализованы в версии SP2013. Без документа метаданных нет возможности автоматически создать требуемую модель данных.

+0

Это хороший момент. Хотя с бризами вы можете определить метаданные на клиенте, а затем использовать новую функциональность JsonResultsAdapter для обработки OData v3 json. Не пробовал, но ... –

+0

См. Поддержку Breeze 1.4.4, OData v3. –

0

Начиная с Breeze 1.4.4, Breeze теперь поддерживает OData v3.

+1

Полезно знать, но это действительно ответ на вопрос * перевести этот вызов jQuery-Ajax в breeze.js * ... или подтолкнуть меня в правильном направлении? ;-) – RainerAtSpirit