Javascript 在laravel应用程序中返回405(不允许发布)的jQuery ajax请求
我似乎无法理解这一点。这是apache配置吗?我见过一些filters.php配置来添加POST,但如果这是问题的话,它可能在laravel文档中的某个地方,对吗 路线:Javascript 在laravel应用程序中返回405(不允许发布)的jQuery ajax请求,javascript,php,ajax,laravel,laravel-4,Javascript,Php,Ajax,Laravel,Laravel 4,我似乎无法理解这一点。这是apache配置吗?我见过一些filters.php配置来添加POST,但如果这是问题的话,它可能在laravel文档中的某个地方,对吗 路线: Route::get('orders/add', 'OrderController@add'); Route::resource('orders', 'OrderController'); 控制器(REST方法为空): jQuery: function add() { var tid = $('#sites input
Route::get('orders/add', 'OrderController@add');
Route::resource('orders', 'OrderController');
控制器(REST方法为空):
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>
谢谢大家。
Route::get
需要一个get-HTTP头。你需要使用Route::post
而不是
Route::get('orders/add','OrderController@add');代码>
你应该使用
Route::post('orders/add','OrderController@add');代码>
路由::get
需要一个get-HTTP头。你需要使用Route::post
而不是
Route::get('orders/add','OrderController@add');代码>
你应该使用
Route::post('orders/add','OrderController@add');代码>
如果您使用的是资源控制器,那么您确实不需要/add路由,因为它已经有了一个create方法
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')},
,这应该可以解决这个问题。如果您使用的是资源控制器,实际上不需要/add路由,因为它已经有了一个create方法
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')},
应该可以解决这个问题。我一直想知道为什么函数名被称为“get”。我很尴尬。谢谢。我们都从某处开始:)。如果您希望使用RESTFUL逻辑,我可以建议您使用(在页面上搜索RESTFUL)吗?我一直想知道为什么函数名被称为“get”。我很尴尬。谢谢。我们都从某处开始:)。如果您希望使用RESTFUL逻辑,我可以建议使用(在页面上搜索RESTFUL)吗?
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
}