我知道浏览器只支持POST和GET请求,Laravel PUT使用以下代码支持请求:
<?= Form::open('/path/', 'PUT'); ?>
    ... form stuff ...
<?= Form::close(); ?>
这将生成以下HTML
<form method="POST" action="http://example.com/home/" accept-charset="UTF-8">
    <input type="hidden" name="_method" value="PUT" />
    ... form stuff ...
</form>
框架如何处理这个?是否在决定将请求发送到哪个路由之前捕获POST请求?它是否使用ajax向框架发送实际内容?PUT
Lau*_*nce 49
它插入一个隐藏字段,该字段提到它是PUT或DELETE请求
看到这里:
echo Form::open('user/profile', 'PUT');
结果是:
<input type="hidden" name="_method" value="PUT">
然后它在request.php核心文件中路由时查找_method (在代码中查找'spoofing') - 如果它检测到它 - 将使用该值路由到正确的restful控制器.
它仍然使用"POST"来实现这一目标.没有使用ajax.