Не могу читать значения $_POST с запросами $.post при формулировании опций с.each
Сформулировал строку опций, используя.each, и отправил ее через.post во внешний скрипт.
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
if(index==1){
options = "{"+input.attr("name")+":'"+input.val()+"'";
}else if(index==no_inputs){
options += ","+input.attr("name")+":'"+input.val()+"'}";
}else{
options += ","+input.attr("name")+":'"+input.val()+"'";
}
index++;
});
alert(options);
$.post('../pages/ajax/add_orders.php',options,function(data){
alert(data);
});
..проблема, когда мой скрипт вызова PHP
<?php
print_r($_POST);
?>
Я просто получаю пустой массив без значений.
Первое предупреждение показывает правильно сформулированную строку.
Но второй возвращает пустое значение.
Любая помощь с благодарностью.
2 ответа
Решение
Ваш пост должен быть реальным объектом, вы создаете строку.
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
if(index==1){
options[input.attr("name")] = input.val();
}else if(index==no_inputs){
options[input.attr("name")] = input.val();
}else{
options[input.attr("name")] = input.val();
}
index++;
});
Я думаю, что вышеуказанный способ будет работать.
Попробуйте это вместо:
var options={};
clicked.closest("form").find("input,textarea").each(function(){
var input=$(this);
options[input.attr("name")] = input.val();
});