【发布时间】:2015-01-26 09:26:19
【问题描述】:
我环顾四周,没有其他类似的帖子对我有帮助。我在Yii 2 和jQuery 中构建了一个基于AJAx 的表单,它似乎提交了两次表单。
我的表格:
$form = ActiveForm::begin([
'id' => 'company_form',
'ajaxDataType' => 'json',
'ajaxParam' => 'ajax',
'enableClientValidation' => false
]);
我的 JS 代码:
$(document).ready(function() {
/* Processes the company signup request */
$('#company_form').submit(function() {
signup('company');
return false;
});
})
function signup(type) {
var url;
// Set file to get results from..
switch (type) {
case 'company':
url = '/site/company-signup';
break;
case 'client':
url = '/site/client-signup';
break;
}
// Set parameters
var dataObject = $('#company_form').serialize();
// Run request
getAjaxData(url, dataObject, 'POST', 'json')
.done(function(response) {
//.........
})
.fail(function() {
//.....
});
// End
}
不应该通过我将return: false; 放入javascript 代码来停止标准提交吗?
为什么要提交两次?
更多信息: 然而奇怪的是,这似乎只是第一次发生;如果我再次点击提交,它只会提交一次;但如果我重新加载页面并点击提交,它会再次执行两次。
【问题讨论】:
-
在 firebug 中是否发送了两次 ajax 请求?
-
@AliMasudianPour 是的,当我观看控制台时,请求被发送了两次。然而奇怪的是,这似乎只是第一次发生;如果我再次点击提交,它只会提交一次;但如果我重新加载页面并点击提交,它会再次执行两次。
标签: javascript php ajax yii yii2