我想用数据库中的数据加载路径参数。
例如,我有
$routeProvider.when('/:param1/:param2', loadParams())
和loadParams函数
function loadParams() {
var data = {
path: window.location.pathname
};
$.ajax({
type: 'POST',
url: 'getRouteParams',
data: data,
success: function(data, status) {
var attributes = {};
attributes.controller = data.controller;
attributes.templateUrl = data.templateUrl;
return attributes;
}
});
}
但是这个函数给我一个错误
Cannot read property 'reloadOnSearch' of undefined
答案 0 :(得分:0)
你在routeprovider中使用reloadsearch属性,我在你的代码中找不到。 [reloadOnSearch = true] - {boolean =} - 仅当$ location.search()或$ location.hash()发生更改时重新加载路由。
如果该选项设置为false并且浏览器中的url发生更改,则会在根范围内广播$ routeUpdate事件。
答案 1 :(得分:0)
我自己回答
解决方案是停用异步并将退货退出“成功”
function loadParams() {
var data = {
path: window.location.pathname
};
var attributes = {};
$.ajax({
type: 'POST',
url: 'getRouteParams',
data: data,
async: false,
success: function(data, status) {
attributes.controller = data.controller;
attributes.templateUrl = data.templateUrl;
}
});
return attributes;
}