【发布时间】:2021-05-07 11:26:20
【问题描述】:
我正在尝试通过 ajax 提交图像但收到错误:The POST method is not supported for this route. Supported methods: GET, HEAD.
Javascript:
$("form[name='submitProfileImage']").on("submit", function(ev) {
ev.preventDefault(); // Prevent browser default submit.
var formData = new FormData(this);
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "/members/store",
type: "POST",
data: formData,
success: function (msg) {
alert(msg)
},
cache: false,
contentType: false,
processData: false
});
表格:
<form method="POST" name="submitProfileImage">
<input type="file" hidden id="profileImage" onchange="submit()">
<a class="btn btn-primary mb-5" href="#" id="selectProfileImage">Add profile image</a>
</form>
路线:
Route::post('members/store', 'MembersController@store')->name('members.store');
路由表sn-p:
POST | members/store | members.store | App\Http\Controllers\MembersController@store
无论我从表单中删除方法还是从 ajax 中删除类型,仍然有相同的错误。清除了路由表,但这没有任何区别。我在这里错过了什么?
【问题讨论】:
-
你能告诉我们你从哪里获得 CSRF 令牌吗?
-
从这个标题中:
-
你能告诉我们你的其他路线吗,那里可能有冲突
-
尝试网址:"= route('members.store'); ?>"
标签: javascript php ajax laravel