除 create (store) 外,所有 cruds 在共享主机和本地主机上都运行良好。
这是我的 addtoqueue
控制器:
public function store(Request $request)
{
$last = antri::whereDate('created_at', Carbon::today())->latest()->first();
if ( $last ) {
$tambah = $last->number + 1;
}
else {
$tambah = 1;
}
$newantri = new antri;
$newantri->user_id = $request->user_id;
$newantri->number = $tambah;
$newantri->called = 0;
$newantri->save();
return $newantri;
}
model
:
class antri extends Model
{
use HasFactory;
}
api route
:
Route::post('queue', [addtoqueue::class, 'store']);
触发器:
<v-btn elevation="2" v-on:click="increase" >Ambil Nomor Antrian</v-btn>
脚本:
methods: {
increase: function() {
axios.post('/api/queue/', {
user_id: this.user.id
})
. then( response=> {
if( response.status == 200 ) {
this.$emit('itemchanged');
}
})
. catch( error => {
console.log(error);
})
window.location.reload();
}
使用 postman
测试在本地和共享托管数据库上也运行良好。
谁能弄清楚似乎是什么问题?
答案 0 :(得分:0)
我发现了问题。每次请求 Status Code 301 moved permanently
时我都会收到 post method
。这导致 url
结构从 domain/api/target
变为 domain/public/api/target
,当然它不会命中控制器中的 store
函数。
我编辑了 .htaccess
文件夹中的 public
文件:
RewriteRule ^ %1 [L,R=301]
到
RewriteRule ^ %1 [L,R=307]
这意味着从永久移动到临时重定向。
这解决了我的问题。