Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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 我如何正确地将带有JSON数据的jquery post请求发送到MVC 3,以便它将控制权返回给我的控制器?_Javascript_Jquery_Asp.net Mvc 3 - Fatal编程技术网

Javascript 我如何正确地将带有JSON数据的jquery post请求发送到MVC 3,以便它将控制权返回给我的控制器?

Javascript 我如何正确地将带有JSON数据的jquery post请求发送到MVC 3,以便它将控制权返回给我的控制器?,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,我知道这可能是一个常见且容易回答的问题,但我是个笨蛋。我的情况如下: 我有一个复杂对象列表,可以使用ajax调用发送,如下所示: $j.ajax({ url: actionURL, type: 'POST', dataType: 'json', data: dataToSend, contentType: 'application/json; charset=utf-8', success: function (response) {

我知道这可能是一个常见且容易回答的问题,但我是个笨蛋。我的情况如下:

我有一个复杂对象列表,可以使用ajax调用发送,如下所示:

$j.ajax({
    url: actionURL,
    type: 'POST',
    dataType: 'json',
    data: dataToSend,
    contentType: 'application/json; charset=utf-8',
    success: function (response)
    {
        alert(response);
    }
});
“actionURL”处的MVC3控制器操作获取对象并自动将其反序列化为我想要的对象。但是,当我从该控制器函数返回ActionResult时,什么也没有发生。我想在这个控制器函数中重新获得控制权,并返回一个在cshtml中定义的“PostResults”视图,就像我在其他所有控制器函数中所做的一样,但我的返回似乎是返回到JS。我猜答案与路由有关,但正如我所说,我是一个核心


你知道为什么jsajax调用似乎控制了流,以及如何阻止这种情况发生吗?我希望这个JS模块能够像其他视图一样运行

您想执行post重定向。了解更多信息


ajax的真正目的是不离开用户正在查看的当前页面,从而创建一个响应更快的UI。

有一个类似的问题和一个很好的答案


但是,您还应该考虑是否真的需要完全重新加载,还是最好在结果中返回部分页面,然后“success”函数相应地更新部分页面。

您的控制器操作方法是什么样子的?在这种情况下,只需
PostTestResults(TestResults tr){return View(tr);}
,我确实想要一个全新的页面。测试已经运行,现在返回数据,并显示一个全新的视图,可以在其中查看和操作数据。谢谢好的,我想在这个例子中做一个全新的页面,所以jquery ajax的东西似乎不是答案,谢谢。没问题,你可以在链接上找到更多信息,以及其他人创建的解决方案。这是ajax的一种“highjacking”。一如既往,将您认为有帮助的回答标记为答案和/或投票!