`
smartzxy
  • 浏览: 199803 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

HTML5的表单到底还是不支持PUT、DELETE?

阅读更多

      REST架构的核心属性之一便是统一接口,可现在的HTML表单只支持GET和POST方法,一下子就“禁掉”(但是还是可以通过JavaScript脚本实现其它接口)了REST要求的一半接口。《RESTful Web Services》中很多例子都给form的method赋上了PUT、DELETE值,说是HTML5中会支持。于是我就好奇地搜了下HTML5在这方面的内容。

 

      在w3.org上的HTML5仓库里看到了一篇《HTML5 differences from HTML4》,是今年三月10号发布的草案。简单的用Ctrl-F搜了下“ form ”关键字,好像并没有提到改进了method方法,form的属性改动不少,但就是没有method啊……于是就疑惑了,难道用PUT和DELETE还得写JS?

 

文章发布得冲动了……刚才翻看了最新的HTML5草案,看到了这段话:

The method and formmethod content attributes are enumerated attributes with the following keywords and states:

  • The keyword GET, mapping to the state GET, indicating the HTTP GET method.
  • The keyword POST, mapping to the state POST, indicating the HTTP POST method.
  • The keyword PUT, mapping to the state PUT, indicating the HTTP PUT method.
  • The keyword DELETE, mapping to the state DELETE, indicating the HTTP DELETE method.

The missing value default for these attributes is the GET state.

The method of an element is one of those four states. If the element is a submit button and has a formmethod attribute, then the element's methodis that attribute's state; otherwise, it is the form owner's method attribute's state.

为什么那篇differences就不提呢……

分享到:
评论
3 楼 lephix 2010-06-12  
grasszring 写道
  刚开始对rest不了解的时候,感觉有点兴奋,于是去研究了下它,我觉得使用rest太受限制了(struts2)。
比方如:我想要做一个下载,都不知道怎么去做了。就那么几个方法,每个方法对应的都有链接。


你说的是某些连接的4个方法都被占用了
但是既然是用RESTful的形式安排资源,那么附件如果有单独请求下载的需要,那么请给附件也抽象为一类资源,专门用于下载。
比如某篇文章的URL是HTTP://XXX.COM/ESSAY/1 方法为GET
这篇文章的其中某个附件下载地址应该为HTTP://XXX.COM/ATTACHMENT/1/XXX.ZIP 方法为GET

2 楼 grasszring 2010-06-11  
  刚开始对rest不了解的时候,感觉有点兴奋,于是去研究了下它,我觉得使用rest太受限制了(struts2)。
比方如:我想要做一个下载,都不知道怎么去做了。就那么几个方法,每个方法对应的都有链接。
1 楼 七月十五 2010-06-10  
如果不能原生全面支持PUT/GET/POST/DELETE,对于REST来说果然有点小杯具

相关推荐

    xhrhttprequest部分浏览器中不支持put/delete

    xhrhttprequest部分浏览器中不支持put/delete这个问题,主要涉及到的是前端开发中的Ajax技术,特别是XMLHttpRequest(XHR)对象在处理HTTP请求方法PUT和DELETE时的兼容性问题。XMLHttpRequest是JavaScript用于实现...

    UniApp中封装request网络请求包含GET、POST、PUT、DELETE等

    在移动应用开发中,网络请求是必不可少的一部分,用于与服务器进行数据交互。UniApp是一个跨平台的开发框架,它允许开发者使用一套代码实现多端应用,包括iOS、Android、H5以及微信小程序等。本教程将详细介绍如何在...

    关于get.post delete put 的用法

    例如,提交表单或者上传文件。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 需要注意的是,POST 方法不同于 GET 方法,POST 方法可以产生副作用,因此需要小心使用。 PUT 方法 ...

    Ajax发送PUT-DELETE请求时出现错误的原因及解决方案.docx

    ### Ajax发送PUT/DELETE请求时出现错误的原因及解决方案...综上所述,无论是通过配置`web.xml`文件还是使用第三方库来解决PUT/DELETE请求的问题,都能有效地帮助开发者克服这一障碍,并使得RESTful API的使用更加顺畅。

    解决ajax的delete、put方法接收不到参数的问题方法

    要解决Ajax的DELETE和PUT请求方法接收不到参数的问题,首先需要了解这类请求在传统HTTP方法中并不被Web服务器直接支持。例如,HTML表单只支持GET和POST方法,而浏览器通常只在表单提交时以GET方法发送数据。为了解决...

    Postman是一款功能强大的接口测试工具,它支持各种HTTP请求方法,包括GET、POST、PUT、DELETE等,并提供了一

    postmanPostman是一款功能强大的接口测试工具,它支持各种HTTP请求方法,包括GET、POST、PUT、DELETE等,并提供了一系列丰富的功能来模拟和测试各种网络请求。以下是关于Postman的详细介绍: 一、Postman的主要功能...

    vue 对axios get pust put delete封装的实例代码

    5. `delete`函数:用于发起DELETE请求,删除指定资源。 每个封装的函数内部都使用了Promise来处理异步操作,通过`.then`处理成功的响应,`.catch`处理错误。在示例代码中,使用了Element-UI的`Message`组件显示操作...

    post_get_put等请求方法的区别

    * DELETE 请求方法不包含请求体,只包含 URL 和 headers。 * DELETE 请求方法不是幂等的,即多次请求可能会改变服务器端的状态。 * DELETE 请求方法通常用于删除服务器端的资源。 OPTION 请求方法 OPTION 请求方法...

    防止表单重复提交

    POST方法则不具有此特性,因此通常用于创建新资源,而PUT用于更新资源,DELETE用于删除资源。这样,即使用户多次提交,服务器也能正确处理。 4. **事务管理**:在数据库层面上,利用事务的ACID属性(原子性、一致性...

    c#写的接口测试工具,支持post get put del请求

    POST请求常用于提交表单数据,GET用于获取资源,PUT用于更新指定资源,DELETE则用于删除资源。 工具的使用可能包括以下步骤: 1. 启动工具,展示WinForm界面。 2. 输入接口URL,选择请求类型(POST、GET、PUT或...

    jqueryformjs表单JS文件

    2. **多种提交方式**: 支持GET和POST提交方式,同时也支持PUT和DELETE等HTTP动词,适应RESTful API的需求。 3. **文件上传**: jQuery Form 对文件上传提供了特别的支持,包括多文件选择、进度条显示以及跨域上传。 ...

    jquery-form - jQuery表单生成插件

    它支持多种HTTP方法,包括POST和GET,以及XMLHttpRequest Level 2的PUT、DELETE等。此外,它还兼容各种表单编码类型,如application/x-www-form-urlencoded、multipart/form-data,这对于处理包含文件上传的表单至关...

    Web应用安全:HTTP协议GET和POST的使用区别文本.docx

    然而,POST请求不保证幂等性,多次执行可能会产生不同的效果,例如多次提交表单可能会创建多个资源。 PUT方法用于更新已有资源,其行为类似于替换,即用请求主体中的数据完全替换掉服务器上指定URL的资源。DELETE...

    7-1 表单处理上.zip

    8. **Ajax异步提交**:通过JavaScript的Ajax技术,可以实现表单的异步提交,即在不刷新整个页面的情况下发送数据并接收响应,提升交互性。 9. **MVC(模型-视图-控制器)框架**:许多Web开发框架,如Angular、React...

    springboot2表单的rest.doc

    在 Spring Boot 2 中,对于传统的 HTML 表单,RESTful 风格通常只支持 `GET` 和 `POST` 方法,而不直接支持 `PUT` 或 `DELETE` 方法。这是因为浏览器原生只支持 `GET` 和 `POST` 方法提交数据,而 `PUT` 和 `DELETE`...

    PHP表单提交开发实例

    5. **接口开发**:如果需要与其他系统交互,可以设计RESTful API接口来处理表单提交。这通常涉及HTTP动词如GET、POST、PUT、DELETE,以及JSON数据格式。使用`header()`函数设置响应头,`json_encode()`函数返回JSON...

    jquery_form_js 表单提交自定义源码

    此外,它还支持多种提交方式,如POST、GET、PUT、DELETE等,并且可以处理文件上传。这个项目提供了一个简单的部署示例,只需在本地服务器环境下运行,通过浏览器访问`http://localhost:8080/jquery_form_js`,在...

    无刷新提交表单实现

    同时,由于老版本浏览器可能不支持Fetch API或XMLHttpRequest,需要提供polyfill或降级方案。 6. **RESTful API与前后端分离** 无刷新提交常与RESTful API结合使用,这种设计风格的API强调资源的表述状态转移,...

Global site tag (gtag.js) - Google Analytics