当我点击按钮窗口值发送我的控制器并关闭窗口时,我的页面中有一个小窗口。但是当我使用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
}
答案 0 :(得分: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。
答案 1 :(得分: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();
}
});
}
答案 2 :(得分: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();
}
});
}