我不知所措。我使用
通过Ajax提交表单submitForm: function(element) {
$.post(
webroot + 'users/settings',
$('#AJAXform').serialize(),
function() {
var option = $('#AJAXform').find('select option:selected');
$j.current.v.updateField(element, option.text());
$j.current.v.removeForms();
}
);
}
确实一切正常......也就是说,直到我将调试级别设置为0。
然后Ajax请求失败。但奇怪的是,通过Firebug,我可以看到我得到了一个带有写入
的错误404
问题在于我没有调用页面/ users / profile而是/ users / settings(users / profile是表单所在的页面)。这只会在调试级别为0时发生。所以我猜这与安全性有关。
有人可能会认为我被黑洞,但问题是安全组件目前没有被激活;此外,黑洞应该发送一个空白页,而不是错误404(对于错误的页面更少)。
编辑:我解决了。事实证明,它是响应中的重定向,导致错误。当debug = 0时,将不会显示该错误,而是会出现404。 Firefox会猜测404消息(实际上并未发送)我用
解决了这个问题if ($this->RequestHandler->isAjax()) {
$this->autoRender = false;
}
答案 0 :(得分:0)
我解决了。事实证明,它是响应中的重定向,导致错误。当debug = 0时,将不会显示该错误,而是会出现404。 Firefox会猜测404消息(实际上并未发送)