Страница 1 из 1
Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 11:52
alexa777
При попытке удалить картинку через Ajax запрос выдает
yii\web\BadRequestHttpException: Не удалось проверить переданные данные
Вот сам код
Код: Выделить всё
//html
<span class="delete_link_img glyphicon-trash" onclick="deletImage(' . $img->id . ')"></span>
//js
function deletImage(id){
var request = new XMLHttpRequest();
request.open('POST','/item/delete-image?id='+id,true);
request.send();
};
Что делать?
Выключать public $enableCsrfValidation = false; на весь контролер не думаю хорошей идеей
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 13:28
urichalex
Использовать $.ajax()
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 15:03
alexa777
urichalex писал(а): ↑2019.02.18, 13:28
Использовать $.ajax()
а я не хочу использовать jquery
Мне посоветовали вставить Csrf токен в запрос я сделал так но нечего не вышло, кто знает что не так?
function deletImage(id){
var request = new XMLHttpRequest();
var csrf = '\yii::$app->request->csrfParam => \yii::$app->request->csrfToken';
request.open('POST','/item/delete-image?id='+id,true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(csrf);
};
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 15:57
SiZE
Код: Выделить всё
var csrf = '\yii::$app->request->csrfParam => \yii::$app->request->csrfToken';
тут все не так
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 16:23
alexa777
SiZE писал(а): ↑2019.02.18, 15:57
Код: Выделить всё
var csrf = '\yii::$app->request->csrfParam => \yii::$app->request->csrfToken';
тут все не так
Так скажите как надо, не томите)
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 16:28
SiZE
alexa777 писал(а): ↑2019.02.18, 16:23
SiZE писал(а): ↑2019.02.18, 15:57
Код: Выделить всё
var csrf = '\yii::$app->request->csrfParam => \yii::$app->request->csrfToken';
тут все не так
Так скажите как надо, не томите)
Тут форум по фреймворку Yii, а не по азам программирования на рнр и javascript.
http://php.net/manual/ru/language.basic-syntax.php
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 17:05
alexa777
Ну и как, ЧСВ повысилось?
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.18, 18:10
alexa777
Может комунибудь понадобится, я нашел способ передачи токена , думаю самый оптимальный это yii.getCsrfToken()
<span class="delete_link_img glyphicon-trash" onclick="deletImage( yii.getCsrfToken() , ' . $img->id . ')"></span>
<code lang="javascript">
function deletImage(csrf, id){
var request = new XMLHttpRequest();
request.open('POST','/item/delete-image?id='+id,true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('X-CSRF-Token', csrf);
request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
request.send(encodeURI(csrf));
};
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.19, 06:15
SiZE
alexa777 писал(а): ↑2019.02.18, 17:05
Ну и как, ЧСВ повысилось?
Ты можешь посмотреть мои сообщения на форуме, чтобы понять на сколько оно сильное.
P.S. Ты не знаешь синтаксис php и js о чем речь то может идти на этом форуме? Тут сопли никто никому подтирать не обязан.
P.P.S. Твое решение несколько избыточно, во первых yii.getCsrfParam() вместо csrf и во вторых нет смысла передавать это все аргументами.
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.19, 09:10
alexa777
SiZE писал(а): ↑2019.02.19, 06:15
alexa777 писал(а): ↑2019.02.18, 17:05
Ну и как, ЧСВ повысилось?
Ты можешь посмотреть мои сообщения на форуме, чтобы понять на сколько оно сильное.
P.S. Ты не знаешь синтаксис php и js о чем речь то может идти на этом форуме? Тут сопли никто никому подтирать не обязан.
P.P.S. Твое решение несколько избыточно, во первых yii.getCsrfParam() вместо csrf и во вторых нет смысла передавать это все аргументами.
Так зачем ты мне вообще пишешь? Попробуй самоутвердится в другом месте, например на улице.
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.19, 12:46
SiZE
alexa777 писал(а): ↑2019.02.19, 09:10
Так зачем ты мне вообще пишешь? Попробуй самоутвердится в другом месте, например на улице.
Все просто, чтобы твое "решение" не использовали "как есть". Спасибо за совет, обязательно им не воспользуюсь
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.19, 16:20
alexa777
SiZE писал(а): ↑2019.02.19, 12:46
alexa777 писал(а): ↑2019.02.19, 09:10
Так зачем ты мне вообще пишешь? Попробуй самоутвердится в другом месте, например на улице.
Все просто, чтобы твое "решение" не использовали "как есть". Спасибо за совет, обязательно им не воспользуюсь
Те кто будет искать такое решение такие же как и я, только учатся. И от того что ты написал так не пользуйтесь им легче не станет, потому что другого они в голове нечего не изобретут если только учатся.
Напиши как надо, если хочешь принести пользу тем кто будет решать подобную проблему.
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.19, 18:07
urichalex
alexa777 писал(а): ↑2019.02.19, 16:20
Напиши как надо, если хочешь принести пользу тем кто будет решать подобную проблему.
Я написал, как надо. Ты не захотел использовать
Re: Ajax запрос выдает ошибку yii\web\BadRequestHttpException:
Добавлено: 2019.02.21, 02:21
alexa777
urichalex писал(а): ↑2019.02.19, 18:07
alexa777 писал(а): ↑2019.02.19, 16:20
Напиши как надо, если хочешь принести пользу тем кто будет решать подобную проблему.
Я написал, как надо. Ты не захотел использовать
Я хочу использовать JS потому что изучаю js, думаю что вначале надо изучить язык а потом фреймворки на js