我正在尝试使用SAPUI5访问REST服务.我在jQuery的帮助下发送了一个GET请求并期望
JSON响应,但我得到的只是一个空的JSON对象.但是,使用RESTClient测试的REST服务给了我正确的响应.
这是我使用sofar的代码:
视图
sap.ui.jsview("sapui5_test.SAPUI5_Test",{
getControllerName : function() {
return "sapui5_test.SAPUI5_Test";
},createContent : function(oController) {
var text = new sap.ui.commons.TextField( {
width : "100%"
});
// arrange controls on the page with a matrix layout
var ml = new sap.ui.commons.layout.MatrixLayout( {
columns : 2,layoutFixed : true,width : "500px"
});
ml.addRow(new sap.ui.commons.layout.MatrixLayoutRow( {
cells : [
new sap.ui.commons.layout.MatrixLayoutCell( {
content : [ text ]
})]
}));
var model = oController.initTodoModel();
text.setValue(model.getJSON());
return [ ml ];
}
});
调节器
sap.ui.controller("sapui5_test.SAPUI5_Test",{
initTodoModel : function() {
var oModel = new sap.ui.model.json.JSONModel();
var aData = jQuery.ajax({
type : "GET",contentType : "application/json",url : "http://sapm04.ibsolution.local:50000/demo.sap.com~d337_resttest_web/rest/todo/init/",dataType : "json",success : function(data,textStatus,jqXHR) {
oModel.setData({modelData : data});
alert("success to post");
}
});
return oModel;
}
}
});
的index.html
data-sap-ui-libs="sap.ui.commons,sap.ui.table,sap.ui.ux3"
data-sap-ui-theme="sap_goldreflection">
sap.ui.localResources("sapui5_test");
var view = sap.ui.view({id:"idSAPUI5_Test1",viewName:"sapui5_test.SAPUI5_Test",type:sap.ui.core.mvc.ViewType.JS});
view.placeAt("content");
如前所述,当我在RESTClient中运行与jQuery中相同的URL时,我得到一个填充的JSON对象,但是UI5页面中的结果是一个空的JSON obejct {}.
我也尝试了以下解决方案:
var oModel = new sap.ui.model.json.JSONModel("http://sapm04.ibsolution.local:50000/demo.sap.com~d337_resttest_web/rest/todo/init/");
但这没有帮助.