我有路线
Route::post('/updateLogo', 'CaptivePortalController@updateLogo');
然后我在这里 POST
$http({
method: 'POST', <----- I did a POST
url: '/updateLogo',
headers: { 'Content-Type': undefined },
transformRequest: function (data) {
console.log("data coming into the transform is ", data);
var formData = new FormData();
formData.append("company_logo_path", data.files);
console.log($scope.files.company_logo_path);
return formData;
},
data: { files: $scope.files.company_logo_path }
})
.then(function successCallback(response) {
console.log("success");
console.log(response);
$('.save-fade').delay(500).fadeOut(1000);
}, function errorCallback(response) {
console.log("fail");
console.log(response);
});
当我浏览文件并提交表单时,我一直在
我405
Network tab
上的{p> Chrome Dev Tool
。
然后,我点击它,我看到了
RouteCollection.php第218行中的MethodNotAllowedHttpException:
我知道我不打算对POST路由进行GET,但是为什么它会发出GET请求而不是POST?
Request URL:http://l.ssc.com:8888/en/updateLogo
Request Method:GET <------
Status Code:405 Method Not Allowed
Remote Address:127.0.0.1:8888
Referrer Policy:no-referrer-when-downgrade
这里做错了什么?
任何提示?
答案 0 :(得分:1)
这看起来像是一个重新定向。 参考:$http.post() method is actally sending a GET
请检查服务器上的路由配置,确保它与您请求的完全相同。
如果您要求'/ myroute',但您已将路线定义为'/ myroute /',那么您的服务器可能会重定向到'/ myroute'。
所有重新指示均使用GET完成。 由于该路线不允许GET请求,因此返回405.