jQuery ajax请求在laravel应用程序中返回405(不允许POST)
jQuery ajax request returning 405 ( POST not allowed) in laravel app
我似乎想不通。这是apache配置吗?我见过一些filters.php配置来添加POST,但如果这是问题所在,它会出现在laravel文档中,对吧?
路线:
Route::get('orders/add', 'OrderController@add');
Route::resource('orders', 'OrderController');
控制器(REST方法为空):
class OrderController extends 'BaseController {
public function add()
{
if (Request::ajax())
return "ajax request ";
else
return "not ajax";
}
...
jQuery:
function add()
{
var tid = $('#sites input[type=radio]:checked').attr('id');
$.ajax({
type: "POST",
url: 'add',
data: { tid: tid }
}).done( function (msg){
alert(msg);
});
}
发送按钮:
<button onclick="add()" id="formSubmit"> Carrinho </button>
当我点击按钮时,firefox在控制台上显示错误:
POST http://localhost/orders/add [HTTP/1.0 405 Method Not Allowed 17ms]
谢谢大家。
Route::get
需要一个GET HTTP头。你需要使用Route::post
。
代替
Route::get('orders/add', 'OrderController@add');
你应该使用
Route::post('orders/add', 'OrderController@add');
来源:Laravel路由文档
如果您使用的是资源控制器,那么您真的不需要/add路由,因为它已经有了创建方法。
OrdersController extends BaseController {
public function index() {} // show ALL orders
public function create() {} // show the form to create an order aka "add"
public function store() {} // get input from post.
public function update($order_id) {} // update an order resource
public function destroy($order_id) {} // destroy an order resource
}
在您的ajax中,将url更改为url: {{URL::route('orders.store')}},
,这应该会修复它。
相关文章:
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- Don'不允许将焦点集中在自动完成的选择上
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- WCF json POST请求方法:GET和405(方法不允许)
- AngularJS和Go POST请求方法不允许
- Jquery:如何不允许下一个 $.post(),直到解决前一个
- Restangular Get()和Post()处理额外的Post错误“/adsf 405方法不允许
- jQuery ajax请求在laravel应用程序中返回405(不允许POST)
- 美元.Post和$.获取只允许更改标题,而不允许更改日志
- POST 405(方法不允许)当尝试发布AJAX请求时
- Express.js post request "Origin null是不允许的"错误
- AJAX找不到php文件.它返回"POST 405(方法不允许)"
- 不允许使用自托管WCF REST服务JSON POST方法
- jQuery.ajax()POST请求抛出405(方法不允许),但GET不抛出't
- AngularJS问题(POST 405方法不允许)
- HTTP动词POST用于访问路径'& # 39;在IIS 7中不允许
- 按钮和POST方法-不允许执行javascript方法
- Angular.js表单POST返回错误405不允许使用方法
- 不允许使用OPTIONS方法.Get工作,但不是POST
- 美元.ajax POST到我的web服务工作正常,但GET请求失败错误405方法不允许