У меня на input весит обработчик с отправкой AJAX на сервер вот такого вида
$(document).ready(function(){
$('#textbox2').bind("change past keyup", function(){
var lenght = $('#textbox2').val().length;
if(lenght >= 3)
{
var val = $('#textbox2').val();
$.ajax({
type: 'POST',
url: '/auth/search',
data: val,
success: function(data)
{
$('.results').html(data);
}
});
}
});
});
Отправляет запрос если в input равно или больше 3-х символов
На стороне сервера код к которому обращаемся выглядит очень просто
var_dump($_POST);
exit();
Если я ввожу в input например "Привет мир" у меня выводится вот такая строка
array(1) { ["Привет_мир"] => string(0) "" }
Как видите нужное значение стало ключём массива а не его значением. Как мне преобразовать массив к нормальному виду?
Желательно :
array(1) { [0] => string(10) "Привет мир" }
Так же желательно сделать это до отправки на сервер(если так можно), а не на стороне PHP
Обычно отправляют пары ключ(параметр)-значение, вы же отправляете просто строку, которая становится именем параметра с пустым значением.
При отправке вам слеует поименовать параметр, и указать его значение, поэтому вызове $.post следует сделать примерно так:
....
data: { myParam: val },
....
Тогда на стороне сервера вы получите $_POST['myParam'] c вашим значением val
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники