我尝试使用ajax更新数据,并在本地运行laravel,但在生产环境中,这给了我一个错误(在此服务器上找不到请求的URL / appointment / 45 / edit)
我正在使用Ajax,laravel 5.7
$(document).on('click', '.edit', function() {
id = $(this).attr('id');
$.ajax({
url: "/appointment/" + id + "/edit",
dataType: "json",
success: function(html) {
$('#name').val(html.data.name);
$('#appdate').val(html.data.appdate);
$('.modal-title').text("Edit Appointment");
$('#action_button').val("Edit");
$('#action').val("Edit");
$('#modal-default').modal('show');
}
})
});
route
Route::resource('appointment','AppointmentController');
controller
public function edit($id)
{
if(request()->ajax())
{
$data = Appointment::findOrFail($id);
return response()->json(['data' => $data]);
}
}
在此服务器上找不到请求的URL / appointment / 45 / edit
我尝试使用ajax更新数据,并在本地生产中使用laravel进行更新,但在生产环境中,这给了我一个错误(在此服务器上找不到请求的URL / appointment / 45 / edit)
答案 0 :(得分:0)
在ajax调用中,使用命名路由,例如
url:'{{route('route.name')}}'
并添加ajax调用类型
类型:“发布”或类型:“获取”
答案 1 :(得分:0)
在js中:
$(document).on('click', '.edit', function() {
var baseurl = window.location.protocol + "//" + window.location.host;
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
id = $(this).attr('id');
$.ajax({
url: baseurl + "/appointment/" + id + "/edit",
type: 'get',
dataType: "json",
cache: false,
success: function(response) {
$('#name').val(response.data.name);
$('#appdate').val(response.data.appdate);
$('.modal-title').text("Edit Appointment");
$('#action_button').val("Edit");
$('#action').val("Edit");
$('#modal-default').modal('show');
}
})
});
在路由文件(web.php)
Route::resource('appointment','AppointmentController');
在控制器中:
public function edit($id)
{
$data = Appointment::findOrFail($id);
return response()->json(['data' => $data]);
}