Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我使用window.close时,ajax调用不起作用?_Javascript_Ajax_Json_Asp.net Mvc 3_Jquery - Fatal编程技术网

Javascript 当我使用window.close时,ajax调用不起作用?

Javascript 当我使用window.close时,ajax调用不起作用?,javascript,ajax,json,asp.net-mvc-3,jquery,Javascript,Ajax,Json,Asp.net Mvc 3,Jquery,我在我的页面中有一个小窗口,当单击按钮时,窗口值发送我的控制器并关闭窗口。但当我使用窗口时,请关闭控制器,不要点击。但是没有窗口。正确关闭它的点击。但是我需要那条线来关窗户。我怎么做到的 我的示例代码如下所示: function click() {debugger; $.ajax({ type: 'POST', url: 'my url' data: { status: $('#Field_Error')[0

我在我的页面中有一个小窗口,当单击按钮时,窗口值发送我的控制器并关闭窗口。但当我使用窗口时,请关闭控制器,不要点击。但是没有窗口。正确关闭它的点击。但是我需要那条线来关窗户。我怎么做到的

我的示例代码如下所示:

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

    }

将window.close放在success中,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();
            }
        });


}

将window.close放在success中,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();
            }
        });


}

调用
窗口。从成功函数内部关闭

   $.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调用了early w/o来完成ajax。

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

   $.ajax({
        type: 'POST',
        url: 'my url'
        data: { status: $('#Field_Error')[0].checked },
        dataType: 'json',
        success: function (data) {
           alert(data.message);
           window.close();              
        }
    });
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();
        }
      });
   }

Ajax本质上是异步的。它不需要等待ajax完成。所以window.close调用了early w/o来完成ajax。

您是否尝试过不使用window.close()的代码;如果您怀疑问题出在哪里?“我的控制器不是”我的url的实际值是多少?它是否与controller+方法的路径匹配?你可能需要在你的问题中添加这些。friderike It’s right我的问题在窗口中。close。但是我需要那行代码我真的试过了但它不起作用你用
window.open
函数创建这个窗口吗?你试过没有window.close()的代码吗;如果您怀疑问题出在哪里?“我的控制器不是”我的url的实际值是多少?它是否与controller+方法的路径匹配?你可能需要在你的问题中添加这些。friderike It’s right我的问题在窗口中。close。但是我需要那条线。我一直在尝试,但它不起作用。你用
窗口创建这个窗口。打开
功能吗?哦,对不起。它工作正常。但我需要在发出警告信息之前关闭窗口。但现在它显示警报,我单击“确定”,然后只关闭窗口。但是我试着关上那扇窗户;警报(数据、消息);但是窗口没有关闭我需要警告消息还有Sachin先生一旦窗口关闭,剩余的js将不会执行。哦,对不起。它工作正常。但我需要在发出警告信息之前关闭窗口。但现在它显示警报,我单击“确定”,然后只关闭窗口。但是我试着关上那扇窗户;警报(数据、消息);但是窗口没有关闭我需要警告消息还有Sachin先生一旦窗口关闭,剩余的js将不会执行。
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();
        }
      });
   }