草庐IT

backbone-forms

全部标签

javascript - 向 $form.serialize() ajax post 添加额外的数据?

我有以下片段,我在其中序列化表单数据并通过ajax发布它。我遇到过需要添加额外数据的情况。在这种情况下,我需要添加一个名为“selectedHours”的逗号分隔数组。这可能吗?我正在创建“selectedHours”,如下所示,它创建了一个列表项数组,类别为“hour-selected”。这方面没有使用表单值、输入等。varselectedHours=[];$('.hour-selected').each(function(k,v){selectedHours.push($(v).text());});$.ajax({type:'post',url:'/process/somepag

javascript - 将事件委托(delegate)给 Backbone 中的父 View

我的ViewTuneBook有几个ClosedTune类型的subview。OpenTune,我还为每首曲子提供了单独的完整页面浏览量。相同的事件绑定(bind)在ClosedTune和OpenTune中,因此我设计了我的应用程序,使它们都继承自共享的“抽象”ViewTune.为了使我的应用程序更具可扩展性,我希望将每个ClosedTune的事件委托(delegate)给TuneBook,但为了可维护性,我希望使用相同的处理程序(存储的那些在Tune中)以供TuneBook使用(尽管它们显然需要包含在某些函数中)。我遇到的问题是,在TuneBook中,找到正确的ClosedTune来调

javascript - 使用 Jasmine 监视 Backbone.js 路由调用

在Backbone路由器上监听方法调用时遇到问题,以确保它在给定路由上调用正确的方法。测试摘录describe'Router',->beforeEach->@router=newApp.Router()Backbone.history.start()afterEach->Backbone.history.stop()describe'routes',->it'shouldbedefined',->expect(@router.routes).toBeDefined()describe'defaultroute',->it'shouldbedefined',->expect(@route

javascript - 是否可以使用对象 ID 而不是对象来初始化 Backbone 集合?

我有一个Backbone.js集合,我有一个模型ID数组,我想填充它。我知道我可以一个一个地获取这些对象,构建一个对象数组并将它们作为数组传递给Collection的构造函数。我想做的是将对象ID数组作为初始数据传递到构造函数中,并让Collection获取它们,可能是按照this进行的。.可行吗? 最佳答案 当您在Backbone.Collection上调用“fetch”时,它会依次调用Backbone.sync,默认情况下它只向集合询问要使用的url。因此,如果您的服务器响应:/models/batch/?ids=1,2,3,4

javascript - 使用Backbone.js发布数据时如何防范CSRF?

Backbone.js在后台处理将数据发布到服务器,因此没有简单的方法在有效负载中插入CSRFtoken。在这种情况下,我该如何保护我的网站免受CSRF攻击?在这个SO答案中:https://stackoverflow.com/a/10386412/954376,建议验证x-Requested-Byheader是否为XMLHTTPRequest。这足以阻止所有CSRF尝试吗?在Django文档中,建议在每个AJAX请求的另一个自定义header中添加CSRFtoken:https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/#aja

javascript - 是否有经验法则来决定何时在 Backbone.Marionette 中使用 trigger 或 triggerMethod?

我正在玩Backbone.js和Backbone.Marionette我想知道trigger和触发方法。特别是,是否有任何经验法则来决定何时使用前者或后者?例如,在我看来,事件对于DOM元素与其View之间的通信很有用。triggerMethod在Marionette中用于更新级联不同的组件,例如布局调用show方法给它的子元素(子元素响应onShow)。所以,对我来说,这与在其上调用直接方法相同。这是真的吗?触发器呢?提前致谢。 最佳答案 没有太大的区别,这只是取决于你想做什么......trigger会触发一个事件trigger

javascript - 来自 subview 的 Backbone.JS 自定义事件

我有两种观点,为了简单起见,parent/child。child正在使用触发器抛出一个事件。我没有在parent的处理程序中看到它。以下是否有效?varparent=Backbone.View.extend({events:{"childevent":"run"},run:function(e){console.log(e);},render:function(){/*renderthechildhere*/}});varchild=Backbone.View.extend({someAction:function(){this.trigger('childevent');}});

javascript - 这些 Backbone/Underscore .bind() 方法有什么区别?

window.SomeView=Backbone.View.extrend({initialize1:function(){_.bindAll(this,'render');this.model.bind('change',this.render);},initialize2:function(){this.model.bind('change',_.bind(this.render,this));},initialize3:function(){_.bind(this.render,this);this.model.bind('change',this.render);},});在一

javascript - backbone.js ajax 调用

我正在为我正在构建的新应用学习Backbone.js。我需要执行AJAX调用(RESTSERVICE)进行身份验证。这个调用的正确位置在哪里?在模型、View或其他地方?特别与Backbone.jsMVC模型相关。$(function(){varLoginView=Backbone.View.extend({el:$("#login-form"),events:{"click#login":"login"},login:function(){alert("Hello");}});window.LoginView=newLoginView();});Username:Password:L

javascript - Backbone.js 点击事件不适用于触摸

events:'click':'select'在MobileSafari上使用此事件时,触摸时会触发两次。这是一个已知错误还是我自己造成的?我已经把它改成了events:'touchstart':'select'它工作得很好,但这意味着它不再能在普通浏览器中工作。感谢您提供任何信息。 最佳答案 试试这段代码:TouchView=Backbone.View.extend({events:function(){returnMOBILE?{"touchstart":'select'}:{"mousedown":'select'}}}查看实