我在我的 Laravel 网站上显示了所有服务的价格表。现在我想根据服务下拉列表中的选择更改价格表。这就是为什么我使用 AJAX 根据服务下拉列表的变化来调用我的 Controller 并显示所选服务的价格表。
但是我在 AJAX 中遇到错误
jquery-3.2.1.min.js:4 GET http://my_url/route_name?id=clinic_id 404 (Not Found)
HTML
<form id="check_pricelist_form" method="get">
<select class="form-control search_pricelist_Field col-md-4" id="clinic_id_pricelist" name="clinic_id">
<option value="0">All</option>
@if(count($_SESSION['clinic']) > 0)
@foreach($_SESSION['clinic'] as $data)
<option value="{{ $data->id }}">{{ $data->name }}</option>
@endforeach
@endif
</select>
</form>
脚本
$( "#clinic_id_pricelist" ).change(function() {
var clinic_id = $('#clinic_id_pricelist').val();
$.get('clinic-price-list', { id: "clinic_id"}, //getting error in this line
function(returnedData){
console.log(returnedData);
});
});
路线
Route::get('/clinic-price-list/{name}','PriceListController@detail');
如何解决?提前致谢
最佳答案
尝试使用
$.get('clinic-price-list/clinic_id', //getting error in this line
function(returnedData){
console.log(returnedData);
});
选项 1
作为请求参数传递
如果您传递的 Clinic_id 是一个获取参数,您的 url 应该类似于 http://url/clinic-price-list?id=clinic_id
。
Controller
public function detail(Request $request){
$id = $request->input('id');
路线
Route::get('/clinic-price-list','PriceListController@detail');
JS
$.get('clinic-price-list', { id: "clinic_id"},
<小时/>
选项 2
作为 URL 参数传递
如果您将诊所 ID 作为 URL 参数传递,则您的 URL 应类似于 http://url/clinic-price-list/clinic_id
Controller
public function detail(Request $request,$id){
//$id is the clinic_id
路线
Route::get('/clinic-price-list/{name}','PriceListController@detail');
JS
$.get('clinic-price-list/clinic_id',
关于javascript - 在 AJAX 中获取 http ://url/route? id=clinic_id 404(未找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52602561/