Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет.
Для backend я использую - laravel
Для frontend - angular 5
База данных - mongodb.
Я столкнулся с такой проблемой:
Ни как не могу передать токен csrf в angular.
Нашел статью в которой сказано что token нужно передавать через router
Route::get('/api/csrf', function() {
return response()->json(Session::token());
});
В angular нужно отлавливать этот запрос и отправлять в заголовках обратно вместе с post запросом
constructor(private http: HttpClient) {
this.getToken();//Вызываем метод для получения token
}
getToken() {
return this.http.get(this.tokenUrl).subscribe(res => {
this.token = res; //помещяем полученый token в переиенную token
});
}
public addUser(user: User) {
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Content-Type', 'application/json');
headers = headers.append('XSRF-TOKEN', this.token);//Помещяем token в заголовок
return this.http.post<User>(this.apiAddUser, user, {headers: headers}).pipe(
catchError(this.handleError)
);
}
Я думаю что это не правильно.
В итоге возвращяется ошибка с неправельным token.
Как можно это исправить? Спасибо.
Нет. Это не Аякс.
Всем привет.
Такая проблема - при отправки формы регистрации на сайте в laravel , вместо кириллици подставляет символы.
В app.php кругом стоит "ru" русский
Роутер:
Route::resource('users', 'UsersController', ['only' => ['create', 'store']]);
Контроллер:
$data= $request->only('fname', 'email', 'password');//Александр, sharometal@gmail.com, 123
return $data;
В итоге получается:
{"name":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","email":'sharometal@gmail.com","password":"123"}
Как это исправить?
Спасибо
Страницы 1