我无法从javascript函数中获取返回代码

I cannot get a return code from my javascript function

本文关键字:获取 返回 代码 函数 javascript      更新时间:2023-09-26

我将以下内容分配给模态上的一个按钮。当用户单击在按钮上,它调用submitHandler。

   var btn = {
        'Submit & Close': function (win) {
            var rc = submitHandler(oLink.$link, $modal);
            $('#createLink').prop('disabled', false);
        },
        'Close': function (win) {
            $modal.closeModal();
            $('#createLink').prop('disabled', false);
        }
    }

我的submitHandler看起来像这样:

    function submitHandler($link, $modal) {
  if (!$form.valid || $form.valid()) {
        $submitBt.disableBt();
        $modal.removeBlockMessages()
            .blockMessage('Contacting Server, please wait ... ', { type: 'loading' });
        $.ajax({
            url: oSubmit.href,
            dataType: 'json',
            type: 'POST',
            data: $form.serializeArray()
        })
        .done(function (json, textStatus, XMLHttpRequest) {
            json = json || {};
            if (json.success) {
                submitSuccessModal(oSubmit, json);
                return true;
            } else {
                submitFailModal(oSubmit, json);
                return false;
            }
            return false;
        })
    }

当我签入调试器时,submitHandler会运行,但当我查看rc它是未定义的。

我是不是明显遗漏了什么。我根本无法使rc等于除"未定义"之外的任何内容。

更新:

我添加了代码的实际部分。我想知道是否是ajax调用导致了这种情况?注意,我可以使用调试器跟随代码返回true;线

语句以分号而非冒号结尾。

function submitHandler($link, $modal) {
   return true;
}          // ↑

检查处理程序中return语句末尾的分号。

function submitHandler($link, $modal) {
   return true;
}