【发布时间】:2020-10-14 10:19:24
【问题描述】:
我试图在我的 laravel 应用程序中调用 ajax 调用视图。但是当我在视图文件中进行更改时,这些更改不会反映在 ajax 调用中。
这是我的控制器功能
public function create(TicketRequest $request)
{
if($request->input('category')){
$responseData = array();
switch ($request->input('category')) {
case 1:
$content = $this->getVehicleRequest();
break;
case 2:
$content = 'Coming soon...';
break;
case 3:
$content = 'Coming soon...';
break;
case 4:
$content = 'Coming soon...';
break;
case 6:
$content = 'Coming soon...';
break;
case 7:
$content = 'Coming soon...';
break;
default:
abort(504);
break;
}
$responseData ['content'] = $content;
return response()->json(array('status'=>'true','content'=>$responseData ['content']), 200);
}
$category = Category::active()->get();
return view('tickets.create',compact('category'));
}
function getVehicleRequest(){
$employees = Employee::active()->get();
$category = Category::active()->get();
$department = Department::active()->get();
$project = Project::active()->get();
$vehicletypes = VehicleType::active()->get();
$locations = Location::active()->get();
$purposes = Purpose::active()->get();
$view = View::make('tickets.vehicle-request', compact('employees','category','department','project','vehicletypes','locations','purposes'))->render();
$contents = (string) $view;
return $contents;
}
Ajax 调用
$(document).on('click', '.main_category', function(e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var id = $(this).attr("id");
$.ajax({
url: '{{ route('ticket.create') }}' ,
type: "GET",
data: {'category':id},
// dataType:"HTML",
async:false,
cache:false,
success: function( response ) {
$('#category_div').hide();
$('#ajax_data').html(response.content);
}
});
});
如果我更改视图文件中的某些内容,当我调用 ajax 时它不会显示。它显示旧文件。我尝试使用工匠缓存:清除,查看:清除,优化:清除。但还是一样。
【问题讨论】:
-
当你提交新数据时插入表格?