【发布时间】:2019-07-12 14:21:30
【问题描述】:
我正在做一个项目,我想在其中保存办公室地址,并且办公室 create.blade 具有依赖于国家和城市的下拉列表,我使用 JavaScript 进行 AJAX 调用,但是当我正在运行它,我收到“在 office.create.blade 中路由未定义错误。
下面是office.create.blade
@section('scripts')
<script type="text/javascript">
$("#country").change(function(){
$.ajax({
url: "{{ route('admin.cities.get_by_country') }}?country_id=" + $(this).val(),
method: 'GET',
success: function(data) {
$('#city').html(data.html);
}
});
});
</script>
@endsection
<div class="panel panel-default">
<div class="panel-heading">
@lang('quickadmin.qa_create')
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12 form-group">
{!! Form::label('country_id', trans('quickadmin.offices.fields.country').'*', ['class' => 'control-label']) !!}
{!! Form::select('country_id', $countries, old('country_id'), ['class' => 'form-control select2', 'required' => '']) !!}
<p class="help-block"></p>
@if($errors->has('country_id'))
<p class="help-block">
{{ $errors->first('country_id') }}
</p>
@endif
</div>
</div>
<div class="row">
<div class="col-xs-12 form-group">
{!! Form::label('city_id', trans('quickadmin.offices.fields.city').'*', ['class' => 'control-label']) !!}
<select name="city_id" id="city" class="form-control">
<option value="">{{ trans('quickadmin.qa_please_select') }}</option>
</select>
<p class="help-block"></p>
@if($errors->has('city_id'))
<p class="help-block">
{{ $errors->first('city_id') }}
</p>
@endif
</div>
</div>
<div class="row">
<div class="col-xs-12 form-group">
{!! Form::label('address', trans('quickadmin.offices.fields.address').'*', ['class' => 'control-label']) !!}
{!! Form::text('address', old('address'), ['class' => 'form-control', 'placeholder' => '', 'required' => '']) !!}
<p class="help-block"></p>
@if($errors->has('address'))
<p class="help-block">
{{ $errors->first('address') }}
</p>
@endif
</div>
</div>
</div>
</div>
CitiesController.php 代码
public function get_by_country(Request $request)
{
abort_unless(\Gate::allows('city_access'), 401);
if (!$request->country_id) {
$html = '<option value="">'.trans('quickadmin.qa_please_select').'</option>';
} else {
$html = '';
$cities = City::where('country_id', $request->country_id)->get();
foreach ($cities as $city) {
$html .= '<option value="'.$city->id.'">'.$city->name.'</option>';
}
}
return response()->json(['html' => $html]);
}
OfficeController.php 代码
public function perma_del($id)
{
if (! Gate::allows('office_delete')) {
return abort(401);
}
$office = Office::onlyTrashed()->findOrFail($id);
$office->forceDelete();
return redirect()->route('admin.offices.index');
}
在 web.php 中定义路由如下
Route::get('cities/get_by_country', 'CitiesController@get_by_country')->name('admin.cities.get_by_country');
我不知道我在哪里做错了? 期待帮我扔这个 谢谢
【问题讨论】:
标签: javascript php jquery laravel-5.5