Использую AJAX и передаю массив с данными. Сам массив полностью рабочий (в плане, через js выводится, всё ок, но по ajax в php не передается, точнее передается, но не то, что находится в массиве, а string - 'array'). Как преобразовать массив? Код "отправки" через post выглядит так:
$("#blockFour input").each(function(index)
{
excon.push($(this).val());
});
jQuery.post("тут ссылочка на backend",{excon: excon}, function(data)
{
alert(data);
});
Потом в backend пишу следующее:
if($_POST['excon'])
{
$excon = $_POST['excon'];
echo $excon;
}
И на выходе получаю ответ "Array". Как преобразовать массив, чтобы он адекватно прошел через ajax?
В jQuery Вы создаёте массив и пушите значения. Затем в POST передаёте не переменную, а массив.
Соответственно, и в PHP Вы получаете из POST['excon'] массив.
Проверьте, что пришло в $excon
var_dump($excon);
Вероятно, Вы получите на странице что-то вроде этого (строка может быть любой в подобной форме):
array(3) { [0]=> string(16) "Значение" [1]=> string(17) "Значение2" [2]=> string(17) "Значение3" }
Следовательно, Вы можете получать значения через $excon[0], $excon[1], $excon[2] или перебрать каждое значение через foreach:
foreach($excon as $var=>$val){
echo $val . "<br/>";
}
// index.php
var arr = [
'apple',
'orange',
'lemon'
];
$.ajax({
type: 'POST',
url: './array.php',
data: JSON.stringify(arr),
dataType: 'json',
success: function(text) {
console.log(text);
},
error: function(err) {
throw err;
}
});
Есть небольшая особенность в получении POST:
// array.php
<?php
// получаем данные из POST
$json = json_decode(file_get_contents('php://input'));
// отправляем их обратно в виде json
header('Content-Type: application/json');
echo json_encode($json);
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
В общем, при написании своего движка, столкнулся с проблемой, заключается она в том, что написав такой простенький код:
У меня такая проблема получиласьЕсть простенький скрипт который анализирует некие данные стороннего сайта и как только там они поменялись...