下面是我的部分angularJS代码,它实现了routeprovider
TicketApp.config(function ($routeProvider) {
$routeProvider
// route for Create Ticket Page
.when('/CreateTicket', {
templateUrl: '../Ticket/Create',
controller: 'CreateCtrl'
})
// route for Open Ticket Page
.when('/OpenTickets', {
templateUrl: '../Ticket/MyTickets',
controller: 'MyTicketsCtrl'
})
// route for All Users Search Page
.when('/SearchUsers', {
templateUrl: '../Account/AllUsers',
controller: 'AllUsersCtrl'
})
..........
当用户多次点击SAME链接时,只有 第一次单击发出一个AJAX请求,后续请求 不要。
需要修改的内容以便后续对SAME链接的请求也可以进行AJAX调用。
编辑:
我还在下面添加了代码
TicketApp.run(function ($rootScope, $templateCache, $location) {
$rootScope.$on('$routeChangeStart', function (event, next, current) {
$templateCache.remove(current.templateUrl);
});
});
对我不起作用.. :(
答案 0 :(得分:0)
为什么要执行Ajax请求?从服务器加载模板只需要一个请求。没有必要多次加载它,因为它不应该更改,或者您的体系结构不是真正符合Angular。
您可能会使 templateCache 无效并强制Angular重新加载模板。
答案 1 :(得分:0)
这可能适用于您的情况。当用户点击按钮(ajax调用start)时,只需在AJAX调用返回响应然后显示它(按钮)后隐藏它(按钮)。