2014-03-31 115 views
2

本週我正在學習SAP UI5,並且我意識到即使是Web開發人員也可以使用SAP UI5編寫企業移動應用程序。SAP UI5中的HTTP方法

但是我對使用server的數據處理感到困惑。是否SAP UI5應用程序只與使用oData的基於SAP的應用程序通信?

或者我可以使用HTTP方法與RESTful PHP服務器應用程序進行通信嗎?

回答

3

內的任何UI5應用程序,你可以使用jQuery的AJAX變得非常容易。

$.ajax({ 
     type: "POST", 
     data: "POST CONTENT DATA" 
     crossDomain: true, 
     url: http://mydomain.coim/service/endpooint, 
     headers: {'key1':'value1','key2':'value2'} 
     contentType: "application/json", 
     success: function (res, status, xhr) { 
      //success code 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
     console.log("Got an error response: " + textStatus + errorThrown); 
     } 
    }); 
+0

哦..我檢查一下。 – devo

5

oData不是SAP專用協議。 ODATA是OpenDataProtocol

ODATA Website

而且SAPUI5有JSON的模型,你就可以使用REST風格的GET數據。但在這種情況下,除GET之外的所有方法都必須由您自己完成。

您可以嘗試在你的PHP應用程序來實現ODATA:

OData Producer Library for PHP V1.2

+1

如何使用POST,PUT或DELETE更新表單提交服務器中的數據? – devo

+1

我從第一手經驗知道POST的工作也很好。 PUT和DELETE我無法評論,但是如果你使用JSON模型,GET和POST在大多數情況下都是你想要的:) – Qualiture

+1

使用Ajax,你可以真正地與任何你喜歡的東西進行通信。這可以是Java Servlet,PHP Services等。從我嘗試到目前爲止,我真的很喜歡使用Java Servlet和HTTP方法,如GET,POST,PUT,DELETE。 OData是一個您可以使用的功能,但您並不需要。 –

1

是的,你可以使用基於REST的API,因爲sapui5或openui5是由網絡技術和它在瀏覽器中執行。我最近使用sapui5和前端webtechnologies(客戶端)開發了基於cordova的移動應用程序。

0

如果您的後端不支持OData。最好的選擇是使用loadData(sURL, oParameters?, bAsync?, sType?, bMerge?, bCache?, mHeaders?) : void函數的JSONModel(JSONModel)。確保您在使用loadData之前使用了事件處理程序attachRequestCompleted(oData?, fnFunction, oListener?) : sap.ui.model.Model