2

我的代码如下:

var AppRouter = Backbone.Router.extend({

    _data: null,
    _length: 0,
    _index: null,
    _todos: null,

    routes: {
        "*action": "index",
        "category/:name": "hashcategory"  
    },

    initialize: function(options){
        this._data = options.data;
        this._todos = new TodosCollection(options.data);
        this._length = this._todos.length;
        this._index = new CategoriesView({collection: this._todos});
    },

    index: function(){
        this._index.render();
    },

    hashcategory: function(name){
        console.log('started');
    }
});

initializeRouter = function (router) {
    Backbone.history.start({ pushState: true });
    $(document).on('click', 'a:not([data-bypass])', function (evt) {

        var href = $(this).attr('href');
        var protocol = this.protocol + '//';

        if (href.slice(protocol.length) !== protocol) {
            evt.preventDefault();
            router.navigate(href, true);
        }
    });
    return router;
};


var start = function(){ 
    p = $.ajax({
        url: 'data/todolist.json',
        dataType: 'json',
        data: {},
        success: function(data) {
            var approuter = initializeRouter(new AppRouter({data: data}));
        }
    });     
};

<a>我的html 中有一个链接,它有一个href = "category/num1"属性。但是每次我点击链接时,它总是security error在萤火虫中显示一个。实际上我只有一个 index.html 页面,我想做的是在它上面附加一个字符串来制作一个假的 html 页面folder/index.html/category/num1,所有的东西仍然会在当前页面中呈现。但是当链接悬停时显示给我的 url 是folder/category/num1. 因为我的文件夹中实际上不存在此路径,所以我认为这就是它显示安全错误的原因。

那么我该如何解决呢?我应该创建另一个 html 页面和相应的文件夹吗?或者我可以在一个 index.html 页面中完成所有路由吗?

4

1 回答 1

1

#尝试在href中放入a ,例如

href = "#category/num1"
于 2012-04-28T03:39:13.527 回答