如何停止附加相同的 url 参数以在主干中发布表单
How to stop appending same url parameter to post a form in backbone
提交表单并传递附加到其中的 url 参数。 每次单击时,参数都会附加到相同的现有参数。
这就是它的行为方式,我做错了哪里。 我是骨干网的新手。
http://localhost:8080/abc?username=&password=?username=&password=
http://localhost:8080/abc?username=&password=?username=&password=
http://localhost:8080/abc?username=&password=?username=&password=?username=&password=
.HTML:
<form method="post" role="form" autocomplete="off" name="abc" id="abc"></form>
型:
var signin = Backbone.Model.extend({
defaults :{},
url: '/abc'
});
视图:
events: {
"click .sgIn" : "sigIn",
}
sigIn : function(evt){
evt.preventDefault();
var data = this.$el.find('#abc').serialize();
this.model.set(data);
this.model.url = this.model.url+"?"+data;
this.model.save(this.model.toJSON(), {
success: function(model, response) {},
error: function(model, error) {}
});
}
每次
调用sigIn
时,您都会url
修改模型:
this.model.url = this.model.url+"?"+data;
您可以改为将 url 作为xhr
选项传递:
sigIn : function(evt){
evt.preventDefault();
var data = this.$el.find('#abc').serialize();
this.model.set(data);
this.model.save(null, {
url: this.model.url+"?"+data,
success: function(model, response) {},
error: function(model, error) {}
});
}
但是,通过这样的GET
发送用户名和密码之类的东西不是一个好主意。 save()
应该发送POST
或UPDATE
,除非您没有覆盖某些内容。此外,默认情况下save()
将发送模型数据,无需传递this.model.toJSON()
,因为您在调用之前将数据设置为模型save()
相关文章:
- 如何创建一个表并在单击按钮时插入此标签和文本字段
- (extjs)获取表单中单选按钮的选定值.不返回该值
- 在另一个可观察量完成后触发第二个表单提交单击
- 由于正在加载modernizr,表单在单击时未提交
- 表排序器分页使表行不可单击
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- 如何使用 foreach 循环在表中重复单选按钮
- 高级表单提交-单选、复选框和重定向
- 在表单中单击“提交”按钮时,请关注空字段
- 单击单选按钮,添加/删除表单元素的类
- 如何强制更新Webix数据表中的单选按钮
- 多步骤表单,单击未按预期执行
- 如何强制用户在提交表单之前单击链接
- 如何在表单中单击重置按钮时确认弹出窗口
- 如何在提交表单时单击提交输入字段开始此 JQuery 验证
- 如何在 Spring Framework 中处理表数据表单提交
- “选择”菜单中的 HTML 表单表中的总值
- 如何在未单击单选按钮时防止表单提交
- 无法从外部触发 POST 方法表单<表单>
- 即使未单击单选按钮,仍会提交表单