标签:性能 实现 options upload 怎么办 获取 cal array 数据包
有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET
和 POST
两种方式,如果要使用其他的方式,则需要自己来定义实现。
最常见的 HTTP 请求方式自然是 GET 和 POST,相信你已经很熟悉,除此之外,HTTP 协议还定义了很多其他的请求方式,可以在 HTTP/1.1: Method Definitions 中查看 HTTP/1.1 协议支持的所有请求方式,不同的请求方式用于不同类型的请求:
我们可以在命令行中通过 curl
进行一些简单的测试:
Laravel 路由支持通过上面的大部分常用请求方式:
/**
* Laravel 路由支持的 HTTP 请求方式
*
* @var array
*/
public static $verbs = [‘GET‘, ‘HEAD‘, ‘POST‘, ‘PUT‘, ‘PATCH‘, ‘DELETE‘, ‘OPTIONS‘];
并为其提供了相应的路由定义方法:
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
在浏览器地址栏访问某个 URL 采用的是 GET 请求,对于其他请求方式要怎么实现呢,一种方法是通过 HTML 表单元素的 method
属性,另一种方法是在 JavaScript 脚本中发起 HTTP 请求。对于 HTML 表单属性而言,有一个问题是 HTML 表单仅支持 GET 和 POST 请求,如果要使用其他请求方式怎么办?答案是通过表单方法伪造,下面我们就来介绍如何在 Laravel 中进行表单方法伪造。
要告知 Laravel 当前提交的表单使用的是 GET/POST 之外的其他请求方式,需要在表单中添加一个名为 _method
的隐藏字段,字段值是「PUT」、「DELETE」或 「PATCH」。Laravel 在处理提交表单请求时,会将字段值作为请求方式匹配对应的路由。比如下面这个表单:
<form action="/task/1" method="POST">
<input type="hidden" name="_method" value="DELETE">
</form>
Laravel 会将其看作是 DELETE 请求,并将其匹配到对应的 Route::delete
路由进行处理,而不是 Route::post
路由。
其他请求方式实现方式也是一样,不再赘述。
标签:性能 实现 options upload 怎么办 获取 cal array 数据包
原文地址:https://www.cnblogs.com/sgm4231/p/10283481.html