Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根路径上的Sammy.js 404_Javascript_Sammy.js - Fatal编程技术网

Javascript 根路径上的Sammy.js 404

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.js定义一些路由,以下是我的代码:

$.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
   );
});