在进行ajax呼叫后,为什么我的控制器不显示我的视图?

时间:2015-08-20 05:15:41

标签: javascript jquery ajax asp.net-mvc get

我正在调用我的控制器操作'结果'来自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);
 });




1 个答案:

答案 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;

这会将用户发送到您希望他们前往的新页面。