我刚刚完成了一个最新应用的RESTful API构建。我还建立了一个简单的管理界面脚手架类,可以列举资源并构建简单的表格和表单以进行编辑、创建、删除等操作。
对于更新和删除资源,该类输出一个使用PUT和DELETE方法的表单,非常简单:
非常简单。如果检测到Javascript,则会拦截表单并使用XMLHTTPRequest提交回来。Javascript支持其他HTTP方法,但为什么现代浏览器不支持PUT和DELETE方法?最终只能发送GET。
我希望当应用程序优雅地回退到标准HTML时,仍然使用相同的方法,而不是必须在类中使用隐藏字段和逻辑,或者更糟的是将方法放在URI中并允许GET起作用。
我想不出任何原因,为什么浏览器不支持其他HTTP方法,因为开发人员只是通过黑客GET或使用POST来解决问题。
我搜索了答案,并成功找到它作为XHTML 2.0规范的一部分指定。HTML5规范中没有提到它。
为什么“HTML5兼容”的浏览器不支持它?我在哪里可以发布请求以打开此功能并在浏览器中实现它?
对于更新和删除资源,该类输出一个使用PUT和DELETE方法的表单,非常简单:
<form action="/posts/xxxxxxx" method="DELETE">
<input type="submit" value="Delete" />
</form>
并且
<form action="/posts/xxxxxxx" method="PUT">
<input type="text" name="username" value="nikcub" />
<input type="text" name="fullname" value="Nik Cubrilovic" />
<input type="text" name="email" value="nikcub@email.com" />
<input type="submit" value="Update" />
</form>
非常简单。如果检测到Javascript,则会拦截表单并使用XMLHTTPRequest提交回来。Javascript支持其他HTTP方法,但为什么现代浏览器不支持PUT和DELETE方法?最终只能发送GET。
我希望当应用程序优雅地回退到标准HTML时,仍然使用相同的方法,而不是必须在类中使用隐藏字段和逻辑,或者更糟的是将方法放在URI中并允许GET起作用。
我想不出任何原因,为什么浏览器不支持其他HTTP方法,因为开发人员只是通过黑客GET或使用POST来解决问题。
我搜索了答案,并成功找到它作为XHTML 2.0规范的一部分指定。HTML5规范中没有提到它。
为什么“HTML5兼容”的浏览器不支持它?我在哪里可以发布请求以打开此功能并在浏览器中实现它?