在一个项目#index页面上,我 3 不同的视图 [网格,地图,统计] ,每个视图都有一个按钮。当用户点击任何视图时,它会发送 AJAX 请求并加载该视图所需的内容。通过默认,网格视图会被加载。
现在我的客户想要根据以下网址直接加载视图:
www.somedomain.com/projects#grid
www.somedomain.com/projects#stats
www.somedomain.com/projects#map
但是当我检查控制器时,它没有获得#grid,#stats和#maps的信息。我们如何在rails中实现这一目标。这可能吗 ?他不想跟:
www.somedomain.com/projects?view=grid
www.somedomain.com/projects?view=stats
www.somedomain.com/projects?view=maps
答案 0 :(得分:0)
我担心这是不可能的。对于您的后端应用程序,仅发送整个www.somedomain.com/projects
中的www.somedomain.com/projects#grid
部分。 "观光"在#
之后用于浏览器。
这样说 - 它适用于网络浏览器 - 检查answer如何能够抓住"抓住"来自url的散列与javascript。
Here解释了如何才能获得"得到"和"设置"来自url的哈希值 - 如果你想从你的应用程序中操作它。
总结一下:
var myCurrentLocation = window.location.hash.substr(1);
switch (myCurrentLocation) {
case 'stats':
$.ajax(/** handler for stats */);
break;
case 'map':
$.ajax(/** handler for map */);
break;
default:
$.ajax(/** handler for grid, and default */);
break;
}
/*
* Other code
*/
$('#showStats').click(function () {
location.hash = '#stats';
});
祝你好运!