如果没有断点,则找不到window.opener函数

时间:2016-09-26 16:00:56

标签: javascript jquery html ajax

我正在开发的项目是一个列出产品的网页。只要您单击一个,产品信息就会在新窗口中打开,并且可以进行操作和保存。以下是在产品信息页面上提交表单的ajax函数。它应该提交表单,然后关闭页面并刷新父页面上的列表。

function submitForm()
{
  if(!isSubmittingForm && isValidData())
  {
    isSubmittingForm = true;
    $.ajax({
      url: 'productsubmit?com='+com+'&entry='+product.Entry(),
      data: $('#form').serialize(),
      error: function(xhr, exception) {
        isSubmittingForm = false;
      },
      success: function() {
        if (window.opener && !window.opener.closed)
          window.opener.refreshlist();
        window.close();
        isSubmittingForm = false;
      }
    });
  }
}

当我点击调用此功能的按钮时,我收到以下错误:

TypeError: window.opener.refreshlist is not a function

但是,如果我在同一个函数中放置一个断点,单击该按钮,然后慢慢地逐步执行它我不会再出现错误,代码运行完全符合预期。即使我没有单击按钮并在检查器中键入window.opener.refreshlist(),它也会按预期运行。

有关正在发生的事情的任何线索?这一切都发生在Firefox上。

0 个答案:

没有答案