【发布时间】:2019-10-21 01:55:22
【问题描述】:
我在我的 laravel 应用程序上尝试执行 POST 请求时收到 405: Method not Found 错误。我正在尝试创建一个论坛来学习如何使用 php 和 Laravel。
我正在尝试发布来自/forum/category/{category}/post 的请求,我执行来自/forum 的(几乎)相同的请求并且它运行良好,所以我认为这与此有关。
这是我试图从(返回post.blade.php)发布请求的地方:
Route::get('forum/category/{category}/post', 'ForumController@showThreadPostForm');
请求:
var $form = $('form');
$form.submit((e) => {
e.preventDefault();
$.ajax({
type: "POST",
url: 'postthread',
headers: {'X-CSRF-TOKEN': $('meta[name="csrf"]').attr('content')},
data: {"test": "data"},
success: function(res) {
window.location.reload();
console.log(res);
},
error: function(xhr, ajaxOptions, thrownError) {
console.log("Error occured during AJAX request, error code: " + xhr.status);
},
});
});
路线:
Route::post('postthread', 'ForumController@postThread');
控制器方法:
public function postThread(Request $request) {
//empty
}
我不确定这些信息是否足够。 谢谢。
我在不同的页面 /forum 上使用了相同的 AJAX 请求,它可以工作,但我不知道如何让它在这个页面上工作。
【问题讨论】:
-
尝试在您的 Route 和您的 ajax 路由之前添加一个 / 正斜杠。
-
你能粘贴发布请求的详细信息,例如 url、header 和 body 吗?
-
谢谢,添加正斜杠解决了我的问题。