我在ServiceStack API中编写了一个PUT方法。该方法更新数据库中的一台设备。
我用Fiddler测试了这个方法,它完全符合我的要求......快乐的日子!
然后,我意识到使用html表单你只能使用GET&的方法。 POST所以我无法通过网络表单进行PUT ....
有些人似乎在说几句话要补充说:
<input type="hidden" name="_method" value="put" />
但是当我调试api时,它仍然会转到GET函数而不是PUT。
目前我正在尝试使用它:
<form action="/equipment/DP112" method="put">
<input type="hidden" name="_method" value="put" />
<input name="description" type="text" value="" />
<input type="submit" value="Update description on DP112" />
</form>
当我看到Fiddler看起来像这样:
GET http://localhost:19323/equipment/DP112?description=abc HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://localhost:19323/default.htm
Accept-Language: en-GB,en;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
DNT: 1
Host: localhost:19323
显然我做错了什么......我该怎么处理这个?
由于
答案 0 :(得分:4)
结果我需要这个:
<input name="X-HTTP-Method-Override" type="hidden" value="PUT" />
不
<input type="hidden" name="_method" value="put" />
工作得很完美。