Php 带有nodejs方法的Laravel post不允许HttpException 405错误
我将nodejs用于“api”,并使用laravel将其与控制器一起发布。但是它给了我一个MethodNotAllowedHttpException 405错误,我是nodejs的新手,我想学习它,但我想先解决这个问题 我没有尝试太多,因为我不知道我到底有什么不同。我在网上搜索了一下,但没有一个有用 nodejs中的函数:Php 带有nodejs方法的Laravel post不允许HttpException 405错误,php,node.js,laravel,Php,Node.js,Laravel,我将nodejs用于“api”,并使用laravel将其与控制器一起发布。但是它给了我一个MethodNotAllowedHttpException 405错误,我是nodejs的新手,我想学习它,但我想先解决这个问题 我没有尝试太多,因为我不知道我到底有什么不同。我在网上搜索了一下,但没有一个有用 nodejs中的函数: creatFolder() { this.auth.allowed('s:version', (allowedErr, isAllowed) =>
creatFolder() {
this.auth.allowed('s:version', (allowedErr, isAllowed) => {
if (allowedErr || !isAllowed) return;
const uuid = this.auth.server().uuid;
Fs.access("/srv/daemon-data/" + uuid + "/test", error => {
if (!error) {
this.res.send({"success": "false", "error": "Folder already exists."});
} else {
exec('mkdir /srv/daemon-data/' + uuid + "/test", function(err, stdout, stderr) {
if (err) {
res.send({"success": "false", "error": "File could not be created!!"});
}
res.send({"success": "true"});
});
}
});
});
}
“路线”
laravel控制器中的实际api post:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://dev.mrkevko.nl/api/application/servers/51fbca1d/test');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'Authorization: Bearer GKuRPd808MHyqxez9Ph59GG0ql4qqbsAJIZxcRa7E6Rzwmtt';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: Application/vnd.pterodactyl.v1+json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
显示您的Laravel routes文件。405表示方法不匹配,例如GET when应该是POST
Route::POST('/view/{server}/upload/folder','ServersController@upload)->name('admin.servers.view.upload.folder')代码>,很抱歉反应太晚。好的,很难说谁通过哪条路线访问什么。你能指出那部分吗?如果您试图从nodejs发送到Laravel上的/view/{server}/upload/folder
,那么它需要是一个POST请求。这是一个POST请求。啊,我看到我现在做错了什么。我已经编辑了RestServer.get
到RestServer.post
。但它仍然不起作用。我还重新启动了节点。显示您的Laravel routes文件。405表示方法不匹配,例如GET when应该是POSTRoute::POST('/view/{server}/upload/folder','ServersController@upload)->name('admin.servers.view.upload.folder')代码>,很抱歉反应太晚。好的,很难说谁通过哪条路线访问什么。你能指出那部分吗?如果您试图从nodejs发送到Laravel上的/view/{server}/upload/folder
,那么它需要是一个POST请求。这是一个POST请求。啊,我看到我现在做错了什么。我已经编辑了RestServer.get
到RestServer.post
。但它仍然不起作用。我还重新启动了节点。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://dev.mrkevko.nl/api/application/servers/51fbca1d/test');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'Authorization: Bearer GKuRPd808MHyqxez9Ph59GG0ql4qqbsAJIZxcRa7E6Rzwmtt';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: Application/vnd.pterodactyl.v1+json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);