我有2页。在第一页上,用户需要选择下拉值&点击提交,我在哪里调用jQuery ajax。成功时,我需要将回复传递给第2页。以下是我所尝试的内容。但它不起作用。SAPUI5 - 带参数的路由
firstPage.controller.js
jQuery.ajax({
url: requestUriOutput,
method: "GET",
async: false,
dataType: "json",
success: function(data) {
if(data.d.results.length > 0)
{
var detail = data.d.results.concat();
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.navTo("second", {details : detail});
}
} });
SecondPage.controller.js
onInit: function() {
var oRouters = sap.ui.core.UIComponent.getRouterFor(this);
oRouters.getRoute("second").attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
var obj = oEvent.getParameter("arguments").details;
},
的manifest.json
"routes": [{
"pattern": "",
"name": "app",
"target": "app"
}, {
"pattern": "first",
"name": "first",
"target": "first"
}, {
"pattern": "second/{details}",
"name": "second",
"target": "second"
}],
对不起,这是编辑错误。在实际的代码中,我已经正确地通过了它。我也检查过'component.js'路由器被初始化。但它仍然返回错误“无法读取属性的'长度'null” – Hari
@Yal你可以发布你的代码(例如使用JSBin)吗?收到错误讯息后,您是否检查过网址?它是否包含细节参数? – nistv4n
我在这里添加了我的代码。请参考[JsBin](https://jsbin.com/muxuco/edit?html,console,output) – Hari