我有AddressController,在这个控制器中,我有一个函数loadCity和其他CRUD函数,如下所示:
public function loadCities(Request $request)
{
$provinceId = $request->province_id;
$cities = Province::where('province_id', $provinceId)->get();
return response()->json($cities);
}
我的create.vue脚本:
<Multiselect v-model="form.province_id" :options="provinces" valueProp="id" label="name" trackBy="name" :searchable="true" placeholder="Select:" @change="loadCities" />
const cities = ref([]);
const loadCities = async () => {
try {
const response = await router.get(`/apps/address/load-cities/${form.province_id}`);
cities.value = response.data;
} catch (error) {
console.error(error);
}
}
这是我的路由web.id:
Route::resource('/address', AddressController::class, ['as' => 'apps'])
->middleware('permission:address.index|address.create|address.edit|address.delete')
->except(['show']);
Route::get('/address/load-cities/{province_id}', [AddressController::class, 'loadCities'], ['as' => 'apps'])
->name('apps.address.loadCities');
但现在的问题是错误:
The GET method is not supported for this route. Supported methods: PUT, PATCH, DELETE.
我可以像这样使用intertia路由创建依赖的路由吗?或者我的代码缺少了什么?之前谢谢你.
最新情况: 如果我sole.log(form.spectra_id),它返回NULL.