gpt4 book ai didi

c# - 删除方法不起作用

转载 作者:可可西里 更新时间:2023-11-01 17:10:16 25 4
gpt4 key购买 nike

我编写了一个 WebApi Controller ,其中包含以下用于删除客户端的方法...

[HttpDelete]
public void DeleteClient(int id) {
// do stuff here
}

...我正在尝试通过在网页上使用以下 HTML 来测试它...

<form method="DELETE" action="/api/ClientsXml/">
<table style="padding: 5px">
<tr>
<td>ID</td>
<td><input type="text" size="20" name="id" id="id" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Send" /></td>
</tr>
</table>
</form>

但是,永远不会调用 DeleteClient 方法。而是将请求传递给 GetClient 方法。

有人知道为什么吗?我尝试了各种变体,但就是无法调用 delete 方法。

最佳答案

@DimitryS 的回答是正确的,但我想我会在它的基础上做一些改进。

HTML 表单只允许 GET 和 POST 操作。这是当前的 HTML 5 spec以及 HTML < 4 规范。

使用 XMLHttpRequest 时允许使用其他 HTTP 方法这就是 jQuery 的 ajax 功能的基础。因此,一个不错的选择是将 jQuery 用于 PUT、DELETE,它应该适用于所有主流浏览器(在这个非常明确的 SO 问题中对此进行了一些讨论:Are the PUT, DELETE, HEAD, etc methods available in most web browsers?)。

最后,我要说的是,如果您只是使用表单来测试您的 API,那么为什么不试试浏览器扩展呢:例如

还有很多,但大多数允许您保存测试套件、设置不同的 header 等。

关于c# - 删除方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com