2013-03-09 42 views
1

我開始爲我的ODATA服務使用breeze.js。從jQuery-ajax到breeze.js(SharePoint ODATA示例)

我正在使用SharePoint ODATA API,我有一個如何與jQuery-Ajax一起使用的例子。爲了使這項工作與微風將是如此f-ing真棒。任何人都可以幫我把這個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 
}); 

在這裏您可以看到對SharePoint WebProxy的ODATA調用。一個整潔的功能來處理您的跨域電話!

我覺得現在的問題是:我可以用breeze.js構造數據對象嗎?

+0

你好。當我測試你的代碼時,我得到 沒有'Access-Control-Allow-Origin'標題出現在請求的資源上。因此不允許原產地'null'訪問。 這是我在這裏發佈的同樣的問題:http://stackoverflow.com/questions/26083657/accesing-sharepoint-online-from-various-clients – espenk 2014-09-30 09:23:30

回答

1

_/api是一個OData v3端點。 AFAIK既不是Breeze也不支持JayData。更糟糕的是_api/$ metadata沒有在SP2013的發佈版本中實現。沒有元數據文檔,就無法自動創建所需的數據模型。

+0

這是一個很好的觀點。雖然微風可以在客戶端上定義元數據,然後使用新的JsonResultsAdapter功能來處理OData v3 json。沒有嘗試過,但... – 2013-03-16 04:30:45

+0

請參閱Breeze 1.4.4,OData v3的支持。 – 2013-10-15 21:00:54

0

從Breeze 1.4.4開始,Breeze現在支持OData v3。

+1

很高興知道,但這真的是這個問題的答案*將此jQuery-Ajax調用轉換爲breeze.js * ...或者將我推向正確的方向? ;-) – RainerAtSpirit 2013-10-15 21:52:34