backbone.js在路由中添加西里尔符号

时间:2013-09-17 10:25:25

标签: javascript backbone.js routes cyrillic

我的脚本是一个简单的搜索机器,我处理查询,建议和结果。在键入时,脚本会重建有关键盘事件的建议列表。

我有三条路线:"""search/:query""answerQuestion/:id/:step"。单击建议时,脚本将转到路径"search/:query"。所以这是代码的一部分:

AnswerMachine.Views.Suggestion = Backbone.View.extend({
    tagName: 'div',
    className: 'suggestion-item alert alert-info',
    events: {
        'click': 'setQuery',
    },
    setQuery: function() {      
        //Сохраняем навигацию
        Backbone.history.navigate("search/" + this.model.get('title'));
        return this;
    },
    render: function() {
        this.$el.attr('id', this.model.get('id') + '_suggestion');
        //Записываем текст внутрь
        this.$el.html(this.model.get('title'));
        //Возвращаем наш объект
        return this;
    }
});

但是当我点击建议时,例如:Чтотутпроисходит?,它会将我重定向到网址:/#search/'B>%20BCB%20?@>8AE>48B?。所以有什么问题? Backbone.js不知道西里尔符号吗?

1 个答案:

答案 0 :(得分:0)

我试过了escape方法,但是当我尝试使用encodeURI()函数和decodeURI()时,它开始在所有浏览器中运行!