相关疑难解决方法(0)

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

我在这里看到了几个问题,例如如何调试RESTful服务,其中提到:

不幸的是,相同的浏览器不允许我测试HTTP PUT,DELETE,甚至在某种程度上测试HTTP POST.

我也听说过浏览器只支持GET和POST,来自其他一些来源:

但是,Firefox中的一些快速测试显示发送PUT和DELETE请求按预期工作 - XMLHttpRequest成功完成,并且请求以正确的方法显示在服务器日志中.我是否缺少某些方面,例如跨浏览器兼容性或非明显的限制?

browser ajax http cross-browser

596
推荐指数
7
解决办法
23万
查看次数

在Laravel中使用PUT/DELETE有什么价值?

为了将路径定义为资源Route::resource,文档指出:

Verb        Path                            Action  Route Name
-------------------------------------------------------------------
GET         /resource                       index   resource.index
GET         /resource/create                create  resource.create
POST        /resource                       store   resource.store
GET         /resource/{resource}            show    resource.show
GET         /resource/{resource}/edit       edit    resource.edit
PUT/PATCH   /resource/{resource}            update  resource.update
DELETE      /resource/{resource}            destroy resource.destroy
Run Code Online (Sandbox Code Playgroud)

按照典型的REST CRUD,PUT/PATCH用于更新操作,DELETE用于destroy操作.我认为这意味着定义典型的资源交互,即使在手动定义自己的路由和控制器操作时也是如此.

以下是我对与Laravel进行这些交互的理解的核心:

PUT和DELETE是否仅用于创建外部可访问的json REST API,还是用于其他目的?除了使用不同的端点路由到相同的URI,是否存在一些好处,强制存在_methodin $_POST或json?

PUT和DELETE应该是幂等的,但这甚至在Laravel中实现了吗?这是我必须在我的控制器中发生的事情,还是路由以某种方式强制执行?

本质上,如果Laravel中的PUT和DELETE在功能上与POST相同,除了REST语义和并行路由之外,我何时以及为什么要在POST上使用它们?

php laravel-4

6
推荐指数
1
解决办法
3850
查看次数

标签 统计

ajax ×1

browser ×1

cross-browser ×1

http ×1

laravel-4 ×1

php ×1