Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
jQuery在从jQuery调用的MVC控制器返回操作后重新加载当前页面_Jquery_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

jQuery在从jQuery调用的MVC控制器返回操作后重新加载当前页面

jQuery在从jQuery调用的MVC控制器返回操作后重新加载当前页面,jquery,asp.net-mvc,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 4,我在Global.asax中有一些代码,我需要在jQuery调用执行某些逻辑的控制器操作之后执行这些代码。在控制器操作返回后,我需要重新加载当前页面(无论该页面是什么) jQuery调用控制器操作 <script type="text/javascript"> $(function () { $('#SelectedLanguage').on('change', function () { var culture = $(this).v

我在Global.asax中有一些代码,我需要在jQuery调用执行某些逻辑的控制器操作之后执行这些代码。在控制器操作返回后,我需要重新加载当前页面(无论该页面是什么)

jQuery调用控制器操作

<script type="text/javascript">
    $(function () {
        $('#SelectedLanguage').on('change', function () {
            var culture = $(this).val();
            $('#test').load("/Account/TestPartial/" + culture);
            //location.reload(true);
            return false;
        });
    });
</script>
我尝试了
location.reload(true)但它会立即重新加载。我需要等待控制器操作返回。试图在控制器操作中实现
await
,但我想我不确定如何编码,因为TestPartial中调用的例程都没有返回任何与
await
兼容的内容


jQuery.get()似乎是一个选项?这是否意味着我必须将jQuery调用参数转换为JSON,并为JSON编写控制器操作代码,或者是否有一种方法可以使用.get()进行调用?

如果要在返回一点AJAX后重新加载页面,那么使用AJAX没有任何意义。只要做一个正常的GET或POST

也就是说,这里的问题是AJAX是异步的。换句话说,在执行行
$('#test').load(…)
之后,在整个AJAX位有机会发送请求和接收响应之前,立即执行下一行。为了仅在响应返回后执行代码,必须传递回调:

$('#test').load('/Account/TestPartial/' + culture, function () {
    // do something
});

美好的那么简单。。。克里斯,就是这样。谢谢你的帮助。克里斯,需要在控制器操作中写入的cookie似乎不再被写入。页面重新加载是否会阻止设置
Response.Cookies.Add(cookie)
$('#test').load('/Account/TestPartial/' + culture, function () {
    // do something
});