当前位置: 代码迷 >> JavaScript >> 视图渲染后将数据从javascript发送到控制器
  详细解决方案

视图渲染后将数据从javascript发送到控制器

热度:67   发布时间:2023-06-05 09:44:41.0

我目前有一个具有GET参数的控制器。 我的Javascript抓取GET参数,并使用它从API抓取数据。 我所遇到的问题是我不确定如何设置我的控制器端函数/ actionresults以接受ajax数据并修改视图模型。 我需要单独的功能还是仅从客户端修改HTML。

控制器:

public ActionResult Search(string locationinput)
        { 
             //ViewModel data processing...
             return View();
        }

搜索视图:

         @model IEnumerable<Project.ViewModels.SearchResultsViewModel>

         <div class="container">
                    @foreach (var item in Model)
                    {
                            @Html.DisplayFor(modelItem => item.formatted_address)     
                            @Html.DisplayFor(modelItem => item.zip)
                    }
         </div>
public PartialViewResult Search(string locationinput)
        {
            List<SearchResultsViewModel> srvm=getSomething(locationinput);

            return PartialView(srvm);
        }

搜索视图

@model IEnumerable<Project.ViewModels.SearchResultsViewModel>

         <div class="container">
                    @foreach (var item in Model)
                    {
                            @Html.DisplayFor(modelItem => item.formatted_address)     
                            @Html.DisplayFor(modelItem => item.zip)
                    }
         </div>

和js

$('#btnAjax').click(function () {
        $.ajax({
            url: '/Controller/Search',
            type: 'GET',
            dataType: 'html'

        })
        .success(function (result) {
            $('#searchresults').html(result);
        })
        .error(function (xhr, status) {
            alert(status);
        })
    });
  相关解决方案