$(document).on("click", ".menu__skins-sell", function () {
let skin_id_sell = $(this).data("skin-id");
$.ajax({
type: "POST",
url: "ajax_profile.php",
data: {
skin_id_sell: skin_id_sell,
},
success: function (result) {
$("#menu_skin").html(result);
},
});
});
Я хочу чтобы я мог динамически менять и корзину и баланс на сайте, можно ли это сделать без двух php файлов и без двух ajax запросов? Ведь в result возвращается вся страница. Пока что баланс меняется только при обновлении страницы
PHP
Как получить определённые данные из ajax запроса?
Расскажу ситуацию: Есть ajax код который подставляет значения из корзины
Если не будете отвечать ответы лучшими – больше не буду отвечать) А то расписываешь, в комментах и на другие вопросы отвечаешь, а КПД только падает. Абидна.
Используйте JSON.
Таким образом из PHP-скрипта вы вернёте что-то подобное:
Могут быть пляски с экранированием спецсимволов со стороны PHP и де-экранированием со стороны JS, поскольку HTML подразумевает использование кавычек, как и синтаксис JSON. Но тут уже не помогу, ибо делал подобное уже очень давно.
Используйте JSON.
$(document).on("click", ".menu__skins-sell", function () {
let skin_id_sell = $(this).data("skin-id");
$.ajax({
type: "POST",
url: "ajax_profile.php",
data: {
skin_id_sell: skin_id_sell,
},
success: function (result) {
var result_parsed = JSON.parse(result);
$("#menu_skin").html(result.menu_skin);
$("#balance").html(result.balance);
},
});
});
PHP: $return = [];
$return['menu_skin'] = "blablabla";
$return['balance'] = "Сто тыщ мульёнов рублей";
echo json_encode($return);
Таким образом из PHP-скрипта вы вернёте что-то подобное:
{"menu_skin":"blablabla","balance":"blablabla2"}
JS преобразует эту строку в массив: "menu_skin" => "blablabla",
"balance" => "blablabla2"
И вы сможете условно двум элементам задать отдельные значения, полученные при одиночном обращении к скрипту. Сначала нужно будет отпарсить результат, вернувшийся из PHP: success: function (result) {
var result_parsed = JSON.parse(result);
И потом можно будет отдельно распихивать куски результата куда вам нужно: $("#menu_skin").html(result_parsed.menu_skin);
$("#balance").html(result_parsed.balance);
}
Могут быть пляски с экранированием спецсимволов со стороны PHP и де-экранированием со стороны JS, поскольку HTML подразумевает использование кавычек, как и синтаксис JSON. Но тут уже не помогу, ибо делал подобное уже очень давно.
1. такая метода приведет к дырам на твоем сайте..
2. "ведь в result возвращается вся страница" - что отправляешь с сервера, то и приходит, если отправляешь ненужные данные, то они и приходят
2. "ведь в result возвращается вся страница" - что отправляешь с сервера, то и приходит, если отправляешь ненужные данные, то они и приходят
Dima Kutcko
Совет то какой?
По хорошему и баланс и корзина должны храниться в БД, а на сайте они только отображаются. Получать одним запросом и обрабатывать одни файлом рнр вполне возможно, это не проблема...
Dima Kutcko
Они и так в бд, я не говорил что я туда их не записывал
Похожие вопросы
- Несколько AJAX запросов на один PHP файл.
- Зачем делать форму html, а не авторизовывать через ajax запрос, и нужно ли вообще её делать?
- Нужна помощь c запросами и базой данных, PHP, MySQL
- PHP не видит данных POST запроса
- С освоения какого языка лучше начать, изучать с PHP или с JavaScript и AJAX. Хочу стать web-программистом.
- Ajax. Как передать переменную в php?
- Два SQL запроса одновременно | PHP
- Как проще, лучше и быстрее из бд получить данные и поместить сразу в переменную или поместить в цикл и оттуда извлекать
- как сделать чтобы полученные из формы данные записывались в базу данных?
- PHP проверка Ajax
последнюю кавычку не экранировал. Поставьте перед ней \
Может надо поставить data-type: JSON ?