Не могу читать значения $_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();
});
Другие вопросы по тегам