我正在调用我的控制器操作'结果'来自javascript中的Ajax调用,但页面没有刷新或进入视图"搜索"!它停留在我目前正在访问的页面上。
[HttpGet]
public ActionResult Results(string searchQuery) //, DateTime classDate)
{
var viewModel = new YogaSpaceListViewModel
{
SearchQuery = searchQuery
};
return View("Search", viewModel);
}
$.ajax({
method: "GET",
url: "/home/results",
data: {
searchQuery: searchQuery
}
}).
fail(function(jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});

答案 0 :(得分:1)
我认为你对AJAX调用的内容有点困惑,这些请求不会将用户发送到另一个页面,以及你编写它的方式 - 除了拨打电话之外它实际上什么都不做。
$.ajax({
method: "GET",
url: "/home/results",
data: {
searchQuery: searchQuery
},
success: function(data){
// here is what is called on a successful response from the server
// it is now your job to do something with the response.
// the response will be found in the `data` object
}
}).
你要做的是将响应中的数据放到某个地方的html中,就像评论可以正常工作一样。
$('#myDiv').html(data);
而不是做所有这些,我会推荐这样的东西,因为它似乎是你想要的:
window.location = "/Home/Results?searchQuery=" + searchQuery;
这会将用户发送到您希望他们前往的新页面。