У меня проблема «новая для меня», так как я смог сохранить данные в базе данных, но теперь не могу.Я пропускаю некоторые поля через ajax, и это работало хорошо, но теперь это не так.
Вот мой код контроллера:
public function update_os(Request $request)
{
$this->validate($request, [
'os' => 'required|max:50'
]);
$user = User::find(Auth::id());
$user->fill([
'os' => $request->os
]);
return response()->json($user);
}
Теперь это мой код ajax:
$(document).on('submit', '#AjaxFormOs', function (event) {
event.preventDefault();
var os = $('#AjaxFormOs').serializeArray();
$.ajax({
method: 'post',
url: userUrl + 'updateos',
data: os,
_token: token,
dataType: 'json'
})
.done(function (operative) {
toastr.info("Your new OS is: " + operative.os + "", 'You have been updated your OS info.', {timeOut: 5000});
$('#os-cancel').addClass('hide');
$('#os').addClass('hide');
$('#user-os').removeClass('hide');
$('.user-info-content').find('#user-os').html(operative.os);
$('#os-edit').removeClass('hide');
});
});
Это маршрут:
Route::post('/{username}/updateos', 'Account\ProfileController@update_os');
Это форма:
<form id="AjaxFormOs">
{{ csrf_field() }}
<ul class="list-inline p-r-10 user-info-details-form">
<li><strong>OS</strong></li>
<li class="m-l-20 p-b-10" id="user-os">{{ $user->os }}</li>
<li>
<input id="os" type="text" class="form-control hide user-input-field" name="os" value="{{ $user->os }}" autofocus>
<button type="submit" class="hide"></button>
</li>
<li class="pull-right"><a href="#" id="os-edit">Edit</a></li>
<li class="pull-right"><a class="hide" href="#" id="os-cancel">Cancel</a></li>
</ul>
</form>
Это ответ "из инструментов разработчика Google Chrome"
Request URL: http://centralgeek.test/9/updateos
Status Code: 200 OK
{id: 9, name: "José", last_name: "Martínez", username: "josem",
gender: "Hombre", os: "Ubuntu",…}
about: null
background: "def-background.jpg"
city: "Curicó"
country: "Venezuela"
created_at: "2018-10-09 00:32:45"
deleted_at: null
email: "josem@app.com"
gender: "Hombre"
id: 9
job_title: "¿A qué te dedicas?."
last_login_at: "2018-10-09 00:32:45"
last_login_ip: "127.0.0.1"
last_name: "Martínez"
name: "José"
os: "Ubuntu"
phone_model: null
profilepic: "default.png"
twitter: null
twitter_link: null
updated_at: "2018-10-09 01:21:41"
user_agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
username: "josem"
Как вы можете видеть, данные OS, которые я передал, "ubuntu", но как только я обновляю окно, информация исчезает ... Не хранится в базе данных, но работала раньше.Так что же происходит?
1019 * Заранее спасибо.