Javascript 忽略'#';,页内刷新不工作主干路由

Javascript 忽略'#';,页内刷新不工作主干路由,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我在使用主干网路由页面时遇到问题 我使用pushState:true和root:giving实际的父根来替换 当我第一次点击这个链接时,它是正确导航的。已使用Backbone.history.navigate('xyz',true) 但是,当我使用/重新加载页面时,页面将出现404错误,未找到文件 有没有办法停止向URL追加index.html 我需要像这样的URL:localhost:8080/abc/login?sid=123,而不是这个localhost:8080/abc/index.ht

我在使用主干网路由页面时遇到问题

  • 我使用
    pushState:true
    root:giving实际的父根来替换
  • 当我第一次点击这个链接时,它是正确导航的。已使用
    Backbone.history.navigate('xyz',true)
  • 但是,当我使用/重新加载页面时,页面将出现404错误,未找到文件
  • 有没有办法停止向URL追加index.html
  • 我需要像这样的URL:
    localhost:8080/abc/login?sid=123
    ,而不是这个
    localhost:8080/abc/index.html#login?sid=123
  • 路由器:

    define([ 'jquery', 'underscore', 'backbone' ], function($, _, Backbone) {
    
        var AppRouter = Backbone.Router.extend({
            lView: function (route, name, path) {
                var self = this;
                self.route(route, name, function () {
                    require([path], function (module) {
                        var view = new module(name);
                        view.render();
                    });
                });
            }
        });
    
        var App = {
            ROOT: "/abc/",
            router : new AppRouter()
        };
    
        var initialize = function(){
            var app_router = new AppRouter();
            app_router.lView('*actions', 'login', 'loginView');
            Backbone.history.start({
                root: App.ROOT,
                pushState: true
            });
        };
        return {
            initialize: initialize
        };
    });
    

    为什么不使用路由在主干路由器内定义路由?像
    {routes:{“login/:sid”:“login”},login:function(sid){do something with sid}}
    我面临着同样的问题,你找到解决方法了吗?为什么不在主干路由器内使用路由定义路由?像
    {routes:{“login/:sid”:“login”},login:function(sid){do something with sid}}
    我也面临同样的问题,你找到解决方法了吗?