我现在用ExtJS工作了一段时间,从来没有提交表单的问题。但是现在有一个表单没有对php文件进行POST调用。而且让我失败了。
onSaveBtn : function() {
var formPanel = this.getComponent('planillaForm');
if (formPanel.getForm().isValid()) {
var vals = formPanel.getValues();
var msg = String.format(
this.msgs.saving,
vals.codigo
);
this.el.mask(msg, 'x-mask-loading');
formPanel.getForm().submit({
url : 'sistema/planilla/setPlanilla.php',
scope : this,
success : this.onFormSaveSuccess,
failure : this.onFormSaveFailure
});
}
else {
Ext.MessageBox.alert(
'Error!',
this.msgs.errorsInForm
);
}
}
我一直使用这个“模板”进行表单提交,但它从未失败过。我不知道发生了什么,但他从未做过POST,它跳转到失败函数“onFormSaveFailure”。我已经更改了网址而没有。我不知道该怎么办,我有点匆忙。请帮忙。
答案 0 :(得分:1)
可能会发生很多事情之一。您需要进一步调试它。这些是我要做的步骤:
确保网址有效。我会用fiddler(或类似的程序)来查看我的请求。确保我尝试提交的网址有效。可能存在的问题是您正在使用网址的相对路径,它使用当前网址作为上下文。
确保php文件被点击(断点,打印语句......)。
确保php文件没有崩溃,从服务器端抛出的异常会导致调用失败函数。
确保php文件返回表示成功的内容。如果返回的JSON字符串具有{success:false},则该请求将被视为失败。
this.onFormSaveFailure函数接受2个参数:“form”和“action”,“action”对象有一个“failureType”,使用javascript调试器来查看它的值。