我正在使用jQuery ValidationEngine插件来验证表单;验证本身效果很好,但是一旦完成,它会在屏幕上放置一个JSON字符串,而不是按预期重定向到上一页。这是我正在使用的代码:
调用验证引擎:
<script>
$(function() {
$("#newForm").validationEngine('attach', {
ajaxFormValidation: true,
onAjaxFormComplete: urlValidationCallback,
onBeforeAjaxFormValidation: deleteAllPrompts
});
});
</script>
function urlValidationCallback(status, form, json, options){
if (status === true) {
goToURL(json[0][2]);
}
}
function formSubmit(){
...
if ($success) {
$successArray = array();
array_push($successArray, 'newForm');
array_push($successArray, true);
array_push($successArray, "/albums/view/" . $album->id);
array_push($arrayToJs, $successArray);
}
echo json_encode($arrayToJs);
}
但不是加载“/ albums / view / ...”,屏幕显示为空白并显示以下内容:
[["newForm",true,"\/albums\/view\/13"]]
有人可以指出问题所在吗?
非常感谢
答案 0 :(得分:0)
当您在javascript中出现错误,语法或其他内容时,jQuery验证引擎会显示此行为。在你的beforeCall或你的ajaxValidationCallback中。
既然你看到了json,那么调用是成功的,但是在回调过程中你的javascript中出现了一些错误,导致返回调用页面无法实现。
检查浏览器的javascript控制台是否有错误。