window.location.reload(true)发送get请求

window.location.reload(true) sends get request

本文关键字:发送 get 请求 true location reload window      更新时间:2023-09-26

我正在开发MVC Web应用程序。我通过form.submit使用HttpPost来请求除第一个/默认视图之外的所有视图。因此,浏览器地址栏中的url不会更改,即保持http://mymachine:62846当我尝试window.location.reload(true(时,url变为http://mymachine:62846/Home/GetPartialView,web浏览器显示错误:

"/"应用程序中的服务器错误。找不到资源。描述:HTTP 404。请求的URL:/Home/GetPartialView

HomeController方法中,GetPartialView标记为HttpPost:

[HttpPost]
public ActionResult GetPartialView(BroadcastedData data)

基于上述错误,我的理解是,当执行window.location.reload(true)时,浏览器发送HttpGet请求或HttpPost,但没有发布数据,服务器无法正确路由请求。

我错了吗?

如何通过代码重新加载页面,基本上模仿用户按CTRL+R?非常感谢。

由于您的操作方法类型为[HttpPost],因此需要发布数据。我希望有一个[HttpGet]操作方法来渲染您的视图。您必须将特定操作方法([HttpGet](的URL设置为window.location,而不是重新加载页面。

 window.location = url;

要在ctrl+R上执行此操作,请尝试以下代码:

$( document ).bind( 'keydown', function ( event )
                {
                    if ( event.which == 82 )//R=>82
                    {
                        if ( event.altKey )
                        {
                            window.location=desired_URL;
                        }
                    }
                } );