【问题标题】:Populate text fields with ajax call使用 ajax 调用填充文本字段
【发布时间】:2021-09-19 22:48:41
【问题描述】:

我有一个用用户信息填写表单的 MVC 项目。记录后,它会获得一个与表单中所有详细信息相关联的唯一 ID。

然后,如果需要,我有一个页面可以编辑表单,它将 id 放入 url 并将 Id 分配给 Viewbag.Id。我正在尝试在 ajax 调用中使用 Id,然后从 web api 中提取其余信息,并使用已填写的详细信息填充字段。我的问题是我仍在学习 ajax,而不是 100% 地学习如何做到这一点。以下是我认为相关的内容。

我的控制器

        [Route("EditUser/{id}")]
        [CustomAuthorize(Roles = UserRole.Any)]
        public ActionResult EditUserDetails(int id)
        {
            var userDetails = _slg_Entity.NewUser.FirstOrDefault(z => z.Id == id);

            ViewBag.Id = userDetails.Id;         

            return View($"~/Views/Request/EditUser.cshtml");
        }

我正在尝试执行以下操作:

         $.ajax({
             type: "GET",
             url: "@Url.Action("UserDetails", "Api/Request")",
             data: {
                 Id: "@ViewBag.Id" <--- ID passed to the api controller
             }
         }).done(function (data) {
             $(".firstname").val(variable); <--- assign the data from api to field value
         }).fail(function (error) {
             displayError(error);
         });

API 控制器:

        [Route("UserDetails")]
        [HttpGet]
        [CustomApiAuthorize(Roles = UserRole.HR)]
        public async Task<IHttpActionResult> GetUserDetails([FromUri] NewUserDetails existingUser)
        {
            var details = await _slg_Entity.NewUser.FirstOrDefaultAsync(z => z.Id == existingUser.Id);

            existingUser.FirstName = details.FirstName;

            return Ok(details);
        }

不确定我是在附近还是在球场,所以欢迎任何建议! 谢谢。

【问题讨论】:

  • 是您问题中的代码不起作用的问题,还是关于如何完成此处未显示的内容的问题? BR
  • @RoarS,更重要的是我是否走在正确的道路上。我现在没有得到任何东西,所以代码不起作用。基本上是在寻找一些有助于解决此问题的指针或文档。

标签: javascript c# ajax api


【解决方案1】:

所以数据顺利通过。我才发现我叫错了。

我没有传递我在控制器中创建的变量,而是忘记包含数据前缀。

$.ajax({
    type: "GET",
    url: "@Url.Action("UserDetails", "Api/Request")",
    data: {
       Id: "@ViewBag.Id"
    }
}).done(function (data) {
   $(".firstname").val(data.variable); 
}).fail(function (error) {
   displayError(error);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    相关资源
    最近更新 更多