我编写了一个WebApi控制器,其中包含以下用于删除客户端的方法...
[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规范以及HTML <4规范中的最新内容。
使用XMLHttpRequest时允许使用其他HTTP方法,这是jQuery的ajax功能的基础。因此,一个不错的选择可能是对您的PUT,DELETE使用jQuery,并且它应该在所有主要的浏览器中都可以使用(在这个非常明确的SO问题中对此进行了一些讨论:大多数Web浏览器中都提供PUT,DELETE,HEAD等方法吗? ?)。
最后,我要说的是,如果您只是使用表单来测试您的API,那么为什么不尝试使用浏览器扩展:例如
还有更多,但大多数允许您保存测试套件,设置不同的标头等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句