@yourbatya
Я новичок в разработке

Как подставить значение в post-запрос?

Добрый день!
У меня есть форма, которая передаёт значение option-а в скрипт.
<select onchange="getval(this);" name="city" id="city" required>
    <option value="1">один</option>
    <option value="2">два</option>
</select>

function getval(sel)
{
  let city = sel.value;
      let data = {
        city_id : city
      };
      $.ajax({
        type: "POST",
        url: "city.php?city=???",
        data: data,
        success: function(html){
        $("#pz").load('city.php?city=???');
                  }
                });
};

Вопрос в том, как правильно подставить значение option-a (или city_id) в ajax запрос вместо знаков вопроса?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
ib0123456789
@ib0123456789
Parse error: syntax error, unexpected ';'
Так ?
1
function getval(sel)
{
  let city = sel.value;
      let data = {
        city_id : city
      };
      $.ajax({
        type: "POST",
        url: `city.php?city=${city}`,
        data: data,
        success: function(html){
        	$("#pz").load(`city.php?city=${city}`);
        }
    });
};


2

function getval(sel)
{
  let city = sel.value;
      let data = {
        city: city
      };
      $.ajax({
        type: "GET",
        url: 'city.php',
        data: data,
        success: function(html){
        	$("#pz").load(`city.php?city=${city}`);
        }
    });
};




Лучше всего сменить POST на GET и удалить с url все после .php
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zkrvndm
Боты, парсеры, расширения
Делайте так:
<select onchange="getval(this);" name="city" id="city" required>
    <option value="1">один</option>
    <option value="2">два</option>
</select>

async function getval(sel) {
	var city = encodeURIComponent(sel.value);
	var response = await (await fetch('/city.php?city=' + city)).text();
	alert("Запрос успешно отправлен, ответ сервера:\n" + response);
}

На сервере в своем php-скрипите смотрите содержимое переменной $_GET['city'] там будет лежать город.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
23 янв. 2021, в 18:06
5000 руб./за проект
23 янв. 2021, в 17:51
150000 руб./за проект