2013-04-19 4 views
1

У меня есть маленькое окно на моей странице, когда нажимается кнопка, значение окна посылает мой контроллер и закрывает окно. Но когда я использую window.close, контроллер не попадает. Но без окна. Но мне нужна эта строка для закрытия окна. Как я это понимаю?Когда я использую window.close, вызов 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(); 

    } 

контроллер:

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

    } 
+0

Вы пробовали код без window.close(); если вы подозреваете, что проблема там? – Friederike

+0

«мой контроллер его не« что такое фактическое значение для «моего url»? Соответствует ли это маршруту для вашего контроллера + метода? Вероятно, вам нужно добавить их в свой вопрос. –

+0

friderike его право моя проблема в window.close. но мне нужна эта строка –

ответ

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.

+0

привет sachin, его не работает теперь и его не ударил contoller –

+0

does console показывает любую ошибку? Или он закрывается напрямую? – SachinGutte

+0

о, извините. Он работает правильно. Но мне нужно закрыть окно перед предупреждением. Но теперь его предупреждение показывает, что я нажимаю «ok», а затем закрывает окно. Но я пытаюсь это window.close(); оповещения (data.message); Но окно не закрывается –

1

поставил window.close в Succes, JQuery не ждать Аякса, чтобы закончить, он идет дальше.

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(); 
      } 
     }); 


} 
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(); 
     } 
     }); 
    } 
Смежные вопросы