0

修复了它检查 xhr 请求修复了无限循环

get '/about' do
    erb :about, layout: !request.xhr?
end

我正在使用 Angular js 和 sinatra 创建一个页面。Angular 正在处理我的路线并调用模板

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
        when('/home', {templateUrl: '/home'}).
        when('/about', {templateUrl: '/about'}).
        when('/work', {templateUrl: '/work'}).
        when('/blog', {templateUrl: '/blog'}).
        when('/contact', {templateUrl: '/contact'}).
        otherwise({redirectTo: '/'});
}]);

当我转到/#/blog时,模板加载正常。内容由 sinatra 提供

get '/blog' do
    'This is the work page!'
end

但是,在执行 about 页面时,我得到了无限的视图加载。关于页面由提供

get '/about' do
    erb :about
end
4

1 回答 1

0
get '/about' do
    erb :about, layout: !request.xhr?
end

前面的代码加载包含 Angular js 代码的布局。js 代码再次调用 /about 并重复。由于来自 Angular js 路由的调用是 xhr,因此检查它可以解决问题。

于 2013-03-09T03:48:56.327 回答