Web api 路由和 http post [重复]

2023-11-25

我正在使用 WEB API 2 构建一个 API。

我有以下 API 控制器:

[RoutePrefix("api/account")]
public class AccountController : ApiController
{
    [Route("login")]
    [HttpPost]
    public IHttpActionResult AuthenticateUser(string username, string password)
    {
        if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
        {
            return BadRequest("You must submit username and password");
        }

        if (!Membership.ValidateUser(username, password))
        {
            return BadRequest("Incorrect username or password");
        }

        FormsAuthentication.SetAuthCookie(username, true);

        return Ok();
    }
}

和jquery函数:

<script>
    $(document).ready(function () {
        $("#login-form").submit(function (e) {
            e.preventDefault();

            var username = $('#username').val();
            var password = $('#password').val();

            $.ajax({
                type: 'POST',
                url: '/api/account/Login/',
                data: { username: username, password: password },
                success: function() {
                    location.reload();
                }
            });
        });
    });
</script>

当我提交登录表单时,我在 Google Chrome 的控制台中收到以下错误:

POST http://localhost:60898/api/account/Login/ 404 (Not Found)

如何创建接受 HTTP POST 的路由?

Thanks!


抱歉,我没有看到这篇文章:WebAPI - 属性路由 POST 不适用于 WebAPI Cors?

我已经像这样更新了我的 API 控制器:

[RoutePrefix("api/account")]
public class AccountController : ApiController
{
    public class LoginInfo
    {
        public string username { get; set; }
        public string password { get; set; }
    }

    [Route("login")]
    [HttpPost]
    public IHttpActionResult AuthenticateUser(LoginInfo loginInfo)
    {
        if (string.IsNullOrEmpty(loginInfo.username) || string.IsNullOrEmpty(loginInfo.password))
        {
            return BadRequest("You must submit username and password");
        }

        if (!Membership.ValidateUser(loginInfo.username, loginInfo.password))
        {
            return BadRequest("Incorrect username or password");
        }

        FormsAuthentication.SetAuthCookie(loginInfo.username, true);

        return Ok();
    }
}

现在一切正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web api 路由和 http post [重复] 的相关文章

随机推荐

  • 带有Rails ajax的pushState

    我有一个索引操作页面 显示了用 Kaminari 分页的项目列表 我已经向它们添加了 ajax 功能 现在正在尝试使用 PushState 来获取适合的 URL 我的问题是 当我的分页链接通过以下方式完成时 如何获取传递给 PushStat
  • Gson 可选字段和必填字段

    一个人应该如何应对Gson必填字段与可选字段 由于所有字段都是可选的 因此我无法根据响应 json 是否包含某个键来真正使我的网络请求失败 Gson将简单地将其解析为 null 我正在使用的方法gson fromJson json mCla
  • 增加具有不同线程数的 2 个交替 OpenMP 并行区域的内存消耗

    当我重复在具有不同线程数的 2 个 OpenMP 并行区域之间交替时 内存消耗无限增加 数十 MB 甚至更多 即使在如此简单的代码片段中它也能做到这一点 include
  • 轮盘赌选择算法[重复]

    这个问题在这里已经有答案了 谁能提供一些轮盘赌选择函数的伪代码 我将如何实现这个 我真的不明白如何阅读这个数学符号 我想要通用算法 其他答案似乎假设您正在尝试实现轮盘赌游戏 我认为您问的是进化算法中的轮盘赌选择 这是一些Java代码实现轮盘
  • 如何在 Elixir 中重写 Erlang 组合算法?

    过去几周我一直在修补 Elixir 我刚刚遇到这个简洁的Erlang 中的组合算法 我尝试在 Elixir 中重写但卡住了 艾尔兰版本 comb 0 gt comb gt comb N H T gt H L L lt comb N 1 T
  • 在 Android 应用程序中显示日历

    如果有人能为我提供一个关于使用哪个组件的解决方案 以便我可以在我的 Android 应用程序中显示一个相当漂亮的日历 我将不胜感激 这两天我一直在寻找解决方案 但不幸的是找不到解决方案 由于这是一个非常基本的要求 我相信会有一个完美的解决方
  • C/C++ 编译器可以通过 pthread 库调用合法地将变量缓存在寄存器中吗?

    假设我们有以下代码 include
  • 为 PL/pgSQL 中实现的函数设置配置参数

    我在 PL pgSQL 中编写了几个函数 我想通过一些配置条目来控制它们的行为 这些配置条目也可以在运行时更改 每个会话 是否可以在中定义新的自定义配置条目postgresql conf 如果没有 解决办法是什么 作为我的搜索结果 我发现了
  • Python 多重处理 >= 125 列表永远不会完成

    我正在尝试实现这个多处理tutorial为了我自己的目的 起初我认为它的扩展性不好 但是当我做了一个可重现的示例时 我发现如果项目列表超过 124 它似乎永远不会返回答案 在x 124它在 0 4 秒内运行 但是当我将其设置为x 125它永
  • Python简单的音频生成器

    寻找一些 简单的 Python 音调生成器 用于在带有 USB 声卡的 raspi 上运行的以下脚本 需要动态音调开 关和频率改变 import serial time ser serial Serial dev ttyUSB0 9600
  • 使用 ggplot2 将 x 轴和 y 轴居中

    有没有办法像传统的图形计算器一样获取坐标轴 并将标签放在 ggplot2 图的中心 我浏览了文档 似乎没有这个功能 但其他绘图包不像 ggplot2 那样可以进行图形定制 为了澄清一下 我希望从这样的事情开始 To this 第一个图是用以
  • 如何在ios中获取twitter个人资料图片?

    我写了以下代码 NSURL url NSURL URLWithString http api twitter com 1 1 users show json NSDictionary params NSDictionary dictiona
  • ComboBox 下拉时如何捕获鼠标?

    我正在尝试对 ComboBox 下拉菜单 或与此相关的其他下拉菜单 包括上下文菜单 的行为进行建模 其中当您单击其他任何位置 甚至无法聚焦的内容 时 下拉菜单会关闭 我尝试过订阅 MouseCaptureChanged LostFocus
  • sed 替换部分字符串

    我想使用 sed 执行以下操作 case 1 here is some random text constant randomValue some more random text 我想在constant 之后直接替换randomvalue
  • 尝试从内部 Zip 文件(另一个 Zip 中的 Zip)获取流时出现“无法将其读取为 Zip 文件”异常

    在 C 中 我使用的是点网压缩我有一个名为 innerZip zip 的 zip 其中包含一些数据 另一个名为 outerZip zip 的 zip 包含了 innerZip 我为什么要这样做 好吧 在设置密码时 密码实际上适用于添加到存档
  • 使用 ArtistAnimation 在 matplotlib 中对 png 进行动画处理

    我一直在尝试使用有限元方法为二维热流问题创建一系列曲面图的动画 在每个时间步 我保存一个图而不是整个矩阵 以便更加高效 我遇到了麻烦FuncAnimation在 matplotlib animation 库中 所以我决定每次渲染一个曲面图
  • PHP 重命名数组的键

    如何重命名数组中的键 从这个名为 start array 的数组开始 0 gt date gt 2012 05 01 revenue gt 100 1 gt date gt 2012 05 02 revenue gt 200 并更改 日期
  • 为什么 Java 8 中的 Cloneable 没有默认的 clone()

    CloneableJava 本质上是破碎的 具体来说 我对接口的最大问题是它需要一种不定义方法本身的方法行为 所以如果遍历一个Cloneable列表中您必须使用反射来访问其定义的行为 然而 在 Java 8 中 我们现在有了默认方法 现在我
  • 使用 docker-entrypoint-initdb.d 脚本初始化 PostgreSQL 容器

    我正在尝试创建一个 PostgreSQL 11 5 docker 容器 在此过程中 我想运行一个 SQL 脚本来创建必要的用户 表等 但是 每当容器启动时 我都会看到以下错误 The files belonging to this data
  • Web api 路由和 http post [重复]

    这个问题在这里已经有答案了 我正在使用 WEB API 2 构建一个 API 我有以下 API 控制器 RoutePrefix api account public class AccountController ApiController