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 [重复] 的相关文章

  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 带有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