我有一个网格,其中显示所有用户。网格是由ajax创建和显示的,它有3个按钮。添加,编辑,删除。我可以添加和删除,但是因为在update.blade.php中我有用户图像(由路由和控制器显示,如:<img src="{{ route('userimage',['id' => $pass_the_id ])}}"/>
,现在的问题是如何传递变量,如{{1我即将在视图刀片中使用?`,这是调出模式的代码(当编辑按钮位于用户名前面并且点击了id。我可以获得用户名,家庭等等,并在模态中显示它。但我如何将$ id传递给我上面提到的图像路线?
$pass_the_id
这是我在 $('body').delegate('#student-info #edit','click',function (e) {
var id = $(this).data('id');
$.get("{{ URL::to('student/edit') }}",{id:id},function (data) {
$('#frm-update').find('#id').val(data.id);
$('#frm-update').find('#name').val(data.name);
$('#frm-update').find('#family').val(data.family);
$('#frm-update').find('#username').val(data.username);
$('#frm-update').find('#birth_date').val(data.birth_date);
$('#frm-update').find('#phone').val(data.cell_phone);
$('#frm-update').find('#email').val(data.email);
$('#frm-update').find('#gender').val(data.gender);
$('#student-update').modal('show');
})
})
代码中提到的URL::to('student/edit')
上调用的laravel Controller函数:
$.get
在 public function edit(Request $request) {
if($request->ajax()) {
$contact = User::find($request->id);
return response($contact);
}
}
期间调用的上述控制器函数的职责是根据我已经传递的id获取信息。 (我的网格已经在我创建的网格表中显示了每个用户ID。但我不知道如何将其传递给$.get
这是userimage路线正在做什么:bellow是路线:
src="{{ route('userimage',['id' => $pass_the_id ])}}"
这是它的代码:
Route::get('userimage/{id}','ImageController@showimage')->name('userimage');
答案 0 :(得分:0)
在Ajax上调用将数据传递给视图并在laravel中返回response()这是一个简单的方法,带有一个例子 -
js功能
$(document).on('change', '[name="abc_field"]', getCitiesByState);
function yourAjaxCall() {
var data_to_pass = $(`[name='get_data_selector']`).val();
var $selector = $(`[name='selector']`);
$.ajax({
url: route('your_route'),
type: 'GET',
data: {
data: data_to_pass
},
dataType: "json",
success: function success(data) {
$selector.empty().append(data);
},
});
}
从ajax调用
调用控制器public function your_route_function()
{
$result = Abc::where('column',request('data'))->get();
return response()->json([
'result' => view('viewfilename.fields._option', ['options' => $result])->render(),
]);
}
查看路径&#34; resources \ viwes \ viewfilename \ _ fields_option.blade&#34;渲染
<option value="">{{ $defaultText or 'Select' }}</option>
@foreach($options as $value => $name)
<option value="{{ $value }}">{{ $name }}</option>
@endforeach
希望这可以帮助您通过ajax调用来呈现视图。