Javascript 根路径上的Sammy.js 404
我正在尝试使用sammy.js定义一些路由,以下是我的代码:Javascript 根路径上的Sammy.js 404,javascript,sammy.js,Javascript,Sammy.js,我正在尝试使用sammy.js定义一些路由,以下是我的代码: $.sammy("#main_content", function() { this.get("#!/about", function() { // Code }); this.get("#!/", function() { // Code }); }).run(); 如果我访问www.mywebsite.com,我总是会收到404错误。我试着在像th
$.sammy("#main_content", function()
{
this.get("#!/about", function()
{
// Code
});
this.get("#!/", function()
{
// Code
});
}).run();
如果我访问www.mywebsite.com,我总是会收到404错误。我试着在像
this.get(“,function(){})这样的地方放置一个空白路由
这似乎可以防止404错误,但是我在页面上的正常链接都不起作用。如何解决此问题?要处理不包含哈希的初始请求,请使用您在路由列表底部提到的空路由
/* Get Home view for empty hash URLs
*/
this.get("", function () {
this.app.runRoute("get", "#Home");
});
为了使站点上的正常链接正常工作,即指向AJAX请求无法处理的二进制文件的链接,请使用哈希路由和参数设置锚元素,如下所示(代码使用Razor语法)
只是找不到覆盖: this.notFound=函数(){ //做点什么 }
您可以在这里看到:如果您的站点根目录出现404错误,我觉得这更像是服务器配置问题。您知道服务器默认文档设置为什么吗?在Apache中,这将是httpd配置文件中的DirectoryIndex指令。根据服务器的不同,它可以是index.html或index.htm。如果其中一个页面不存在,则转到站点的根目录将导致此错误,因为服务器不知道要拉哪个页面。如果不是这个问题,那么我可能无法完全理解这个问题。但我只有在没有为空白路由设置路由的情况下才能得到它,例如,this.get(“,function(){});啊……好的。404错误看起来像是页面未找到错误,但在本例中可能不是。可能值得使用Fiddler2或Wireshark获取数据包捕获,以了解那里正在发生的事情。可能是sammy.js试图搞定什么,但我不知道。希望你能找到答案——听起来好像我不是那个有答案的人。
<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>
/* 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
);
});