Javascript 我如何正确地将带有JSON数据的jquery post请求发送到MVC 3,以便它将控制权返回给我的控制器?
我知道这可能是一个常见且容易回答的问题,但我是个笨蛋。我的情况如下: 我有一个复杂对象列表,可以使用ajax调用发送,如下所示: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) {
$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”。一如既往,将您认为有帮助的回答标记为答案和/或投票!