在使用.each制定选项时,无法使用$ .post请求读取$ _POST值

时间:2014-10-02 16:38:37

标签: javascript php jquery ajax .post

使用.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 个答案:

答案 0 :(得分:1)

你发帖需要成为一个实际的对象,你要创建一个字符串。

    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++;
    });

我认为以上方式可行。

答案 1 :(得分:0)

试试这个:

var options={};
clicked.closest("form").find("input,textarea").each(function(){
    var input=$(this);
    options[input.attr("name")] = input.val();
});