1

当单击按钮窗口值发送我的控制器并关闭窗口时,我的页面中有一个小窗口。但是当我使用 window.close 时,控制器没有命中。但如果没有 window.close 它的命中正确。但我需要那条线来关闭窗口。我如何管理?

我的示例代码如下:

function click() {debugger;
        $.ajax({
            type: 'POST',
            url: 'my url'
            data: { status: $('#Field_Error')[0].checked },
            dataType: 'json',
            success: function (data) {
                alert(data.message);
            }
        });
        window.close();

    }

控制器:

  public ActionResult actionName(bool status)
   {// not hit here

    }
4

3 回答 3

3

window.close从内部成功函数调用

   $.ajax({
        type: 'POST',
        url: 'my url'
        data: { status: $('#Field_Error')[0].checked },
        dataType: 'json',
        success: function (data) {
           alert(data.message);
           window.close();              
        }
    });

Ajax 本质上是异步的。它不会等待 ajax 完成。所以 window.close 在没有完成 ajax 的情况下提前调用。

于 2013-04-19T06:30:18.137 回答
1

将 window.close 成功,jquery 不会等待 ajax 完成,它会继续。

function click() {debugger;
        $.ajax({
            type: 'POST',
            url: 'my url'
            data: { status: $('#Field_Error')[0].checked },
            dataType: 'json',
            success: function (data) {
                alert(data.message);
                 window.close();
            }
        });


}
于 2013-04-19T06:29:53.233 回答
1
function click() {
  var myurl=test.php;
    $.ajax({
        type: 'POST',
        url: 'myurl',
        data: { status: $('#Field_Error')[0].checked },
        dataType: 'json',
        success: function (data) {
           alert('successmsg');
           window.close();
        }
      });
   }
于 2017-02-10T12:35:42.163 回答