我正在尝试用sammy.js定义一些路由,下面是我的代码:
$.sammy("#main_content", function()
{
this.get("#!/about", function()
{
// Code
});
this.get("#!/", function()
{
// Code
});
}).run();如果我转到www.mywebsite.com,我总是得到一个404错误。我试着在this.get("", function() {});中添加一个空白路径,这似乎可以防止404错误,但是我在页面上的普通链接都不起作用。我该如何着手解决这个问题呢?
发布于 2013-03-05 23:02:50
发布于 2012-11-21 22:06:04
要处理不包含散列的初始请求,请使用您在路由列表的底部中提到的空路由
/* Get Home view for empty hash URLs
*/
this.get("", function () {
this.app.runRoute("get", "#Home");
});为了让站点上的普通链接起作用,即AJAX请求无法处理的二进制文件的链接,请使用散列路由和参数设置锚点元素,如下所示(代码使用Razor语法)
<a href="@Url.Content("#Reporting/Excel/" +
Model.Report.Type.ToString() + "/" +
Model.Report.Audience.ToString() + "/" +
Model.Report.UnitID.ToString() + "/" +
Model.Report.DepartmentID.ToString())">Download Excel version</a>现在为Sammy创建一个发送到实际URL的路由
/* Reporting Excel requests
*/
this.get("#Reporting/Excel/:type/:audience/:unitID/:departmentID", function () {
location.assign("Report/Excel?" +
"Type=" + this.params.type + "&" +
"Audience=" + this.params.audience + "&" +
"UnitID=" + this.params.unitID + "&" +
"DepartmentID=" + this.params.departmentID
);
});https://stackoverflow.com/questions/9144734
复制相似问题