当前位置: 首页 > 知识库问答 >
问题:

如何在发送POST请求后在同一MVC视图上显示Http响应消息?

幸越泽
2023-03-14

我有一个简单的问题。net MVC应用程序,从我的视图中获取firstname和lastname,并将POST请求提交给web api,该api创建用户并将响应作为HttpResponseMessage发送回。

当FirstMessage成功地收到“我的帐户名”和“我的回复”时,它会返回“FirstMessage”,并在本例中返回“我的帐户名”和“我的回复”。满足于字符串和响应。地位现在,在我提交后的浏览器上,我离开了我所在的视图,看到了带有响应的空白白页。显示内容字符串。

我想做的是获取响应并将其显示在我所在的同一视图上。关于如何做到这一点有什么想法吗?

My controller
Controllers/HomeController.cs
public class HomeController : Controller
{
  public ActionResult Index()
        {
            return View();
        }
}

Razor View content
Views/Home/Index.cshtml

        <form name="createtestuserinput" action="api/createuser" method="POST">
            FirstName
            <input type="text" id="firstname" name="firstname">
            Lastname
            <input type="text" id="lastname" name="lastname">
            <input type="submit" id="createAccount" value="Create Account" />
        </form>

Web Api snippet
    public class Createuser : ApiController
    {
           public HttpResponseMessage Post(HttpRequestMessage request)
            {
               var response = new HttpResponseMessage();
              //some logic happens here
              response.Content = new StringContent("Successfully created user account");
               response.StatusCode = HttpStatusCode.OK;
             return response;
             }
    }

共有1个答案

司徒钱青
2023-03-14

如果您没有理由创建ApicController,以下是它在MVC中工作的一般方式:

在您的HomeController中:

[HttpPost]
public ActionResult CreateUser(string firstname, string lastname)
{
    // some logic here... 
    ViewBag.Message = "Successfully created user account";
    return View("Index");
}

在视图/首页/我ndex.cshtml

    <form name="createtestuserinput" action="CreateUser" method="POST">
        FirstName
        <input type="text" id="firstname" name="firstname">
        Lastname
        <input type="text" id="lastname" name="lastname">
        <input type="submit" id="createAccount" value="Create Account" />

        @ViewBag.Message
    </form>

更新:以下代码可以提交到您的web api请求:

<form id="createtestuserinput">
    FirstName
    <input type="text" id="firstname" name="firstname">
    Lastname
    <input type="text" id="lastname" name="lastname">
    <input type="submit" id="createAccount" value="Create Account" />

    <div id="message"></div>
</form>

<script src="/Scripts/jquery-1.8.3.js"></script>
<script type="text/javascript">
    $(function () {
        $("#createtestuserinput").submit(function () {
            var options = {
                url: "/api/createuser",
                type: "POST",
                data: $('#createtestuserinput').serialize()
            };

            $.ajax(options).done(function (data) {
                $("#message").html(data);
            });

            return false;
        });
    });
</script>
 类似资料:
  • 我可以在POST请求时发送对象列表作为响应,并在VueJs客户端中接收它 但是当我尝试用自定义类响应时(我甚至在请求映射注释中添加了) 在axios的帮助下发送VueJs端请求。邮递 Vue用户界面客户端接收 为什么我可以用对象列表响应而不能用POJO响应,以及如何解决这个问题?非常感谢。 PS.项目依赖于jackson-数据库v2.8.2和Spring v4.3.1

  • 我有一个骆驼endpoint,另一个应用程序在那里发送带有一些数据的post请求(可能是通过其他路由) 我想处理这个数据,并用POST请求的响应将一些东西返回给应用程序。 这就是我的骆驼上下文现在的样子: 如何通过post请求的响应从路由sendFinData发回一些应答?

  • 问题内容: 我正在尝试发出POST请求,但无法完成。另一端什么也没收到。 这是应该如何工作的吗?我知道该功能,但我想我不能使用它,因为它不能用测试,对吗? 问题答案: 您基本上有正确的想法,只是发送错误的表格。该表格属于请求的正文。

  • 我在网上找到了这个脚本: 但我不明白如何与PHP一起使用它,也不明白params变量内部的内容是什么,也不明白如何使用它。我能帮个忙吗?

  • 本文向大家介绍Java 发送http请求(get、post)的示例,包括了Java 发送http请求(get、post)的示例的使用技巧和注意事项,需要的朋友参考一下 1.情景展示   java发送get请求、post请求(form表单、json数据)至另一服务器;   可设置HTTP请求头部信息,可以接收服务器返回cookie信息,可以上传文件等;  2.代码实现 所需jar包:httpcore

  • 我一直试图向facebook发送HTTP POST请求,但没有成功。我从服务器收到以下响应: HTTP/1.1 400不良请求内容-类型:text/html;charset=utf-8日期:2016年12月10日星期六21:28:17 GMT连接:关闭内容-长度:2959 Facebook |错误 抱歉,出了点问题,我们正在修理,会尽快修好的 我的密码 我做错了什么?