当前位置:  开发笔记 > 编程语言 > 正文

从浏览器执行HTTP PUT

如何解决《从浏览器执行HTTPPUT》经验,为你挑选了2个好方法。

我想知道什么是明确的(?)答案是关于如何从浏览器中执行POST/GET以外的事情 - HTML表单或Ajax,因为我听到关于什么浏览器允许的混合报告(特别是在ajax端) ).

在RESTful风格中构建后端时,最好使用PUT,HEAD,OPTIONS等适当的动词......在rails中,使用一个名为method(IIRC?)的隐藏表单字段来模拟这个,并在后端使用调度到动词的适当控制器.现在(2009年底)这是必要的吗?有哪些惯例?



1> mpobrien..:

似乎大多数浏览器除了GET和POST之外不支持其他方法,因为它是HTML表单的限制.这是关于该主题的另一个问题:

大多数Web浏览器中是否提供PUT,DELETE,HEAD等方法?

为了模拟PUT,DELETE等方法,您可以使用伪方法向常规GET/POST表单添加隐藏输入,并让您的应用程序对其进行翻译,以便您的控制器将其视为真正的PUT请求,如你所说.我已经在google sitebricks中看到过这种方法(在java中 - 抱歉我没有任何特定于rails的引用,但这可能至少可以让你有个想法).我认为这可能是我们一直坚持的方法,直到HTML规范中的某些内容发生变化(以及带有它的浏览器)

但是,主流浏览器在AJAX中支持GET,POST,PUT和DELETE,因此如果您不依赖于HTML表单,则不需要隐藏输入.


我认为AJAX比你最初建议的"隧道"要好得多.另外,关于HTML5的好点.但是目前还不清楚哪些浏览器支持PUT和DELETE for forms.

2> John Paulett..:

您必须使用AJAX来执行除GET和POST之外的任何操作,我建议您使用jQuery Forms插件来提交表单作为PUT.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有