jquery验证引擎上的回调函数未按预期工作

时间:2012-01-27 21:53:23

标签: jquery json callback

我正在使用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"]]

有人可以指出问题所在吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

当您在javascript中出现错误,语法或其他内容时,jQuery验证引擎会显示此行为。在你的beforeCall或你的ajaxValidationCallback中。

既然你看到了json,那么调用是成功的,但是在回调过程中你的javascript中出现了一些错误,导致返回调用页面无法实现。

检查浏览器的javascript控制台是否有错误。