【问题标题】:post php array via ajax jquery to different php file通过ajax jquery将php数组发布到不同的php文件
【发布时间】:2013-06-27 13:34:44
【问题描述】:

我对使用 ajax-jquery 将 php 数组发送到另一个 php 文件有疑问,如果我们使用某些输入类型隐藏值通过 jquery post 发送 php 数组,它会将数组转换为字符串。所以另一个php文件没有作为数组值接收它作为字符串接收。我知道 php explode implode 功能。但是在codeiginter中,给定的数组不同,请参阅我需要发送的以下数组

Array ( [0] => stdClass Object ( [pro_id] => 1731 [pro_code] => 2564 [pro_name] => Lakudi [pro_des] =>  IS USED IN ALL FOOD SWEETNER INSTEAD OF SUGAR [pro_det_des] => ALSO AVAILABLE VARIES COLORS AND SHAPES CUBES BIG AND SMALL BALLS AND YELLOW, BROWN AND BLACK COLORS [pro_pack_des] => BULK AS WELL AS CONSUMER PACKING CAN BE OFFERED 30 KGS BULK ALSO AVAILABLE [pack_length] => 65 [pack_breadth] => 85 [pack_height] => 110 [cbm] => 0.608 [case_netweight] => 30 [case_grossweight] => 31 [price_INR] => 1100.00 [price_USD] => 0.00 [slab1] => [slab2] => [slab3] => [slab4] => [s1price] => [s2price] => [s3price] => [s4price] => [prolabel] => [exp_on] => 2013-12-31 [und_grp] => 16 [image_name] => 19442_94.jpg [image_name1] => 0 [image_name2] => 0 [image_name3] => 0 [crt_date] => 2013-06-11 [up_date] => 2013-06-11 [status] => active [admin_status] => deactive [list] => 0 [supplier_id] => 100 [bin] => 0 ) )  

我是使用输入类型隐藏示例代码发送此数组

<input type="hidden" class="datapro" value="<?php print_r($data)?>">

我的 jquery-ajax 代码

$('.clickfu').click(function(){
        var view = $(this).attr('id');      
        var datapro = $('.datapro').val();
        $.post('<?php echo base_url()?>productajax',{typ:'proview',view:view,datapro:datapro},function(data){                                               
             $(".prolist").replaceWith(data);
            // alert(data);
        });
        return false;
    })

在这个数组中。我如何使用explode implode函数将字符串转换为数组。所以请给我指导来解决这个问题。谢谢提前

【问题讨论】:

  • 使用&lt;?php print_r($data)?&gt; 设置输入值不是一个好主意,永远不会!
  • 我想你可能想使用 json_encode,它接受一个 php 对象/数组并将其转换为一个 json 对象字符串。不过,我不完全确定您要尝试什么。
  • 我只想以数组的形式发布并以数组的形式获取。我怎么能在 jason_encode 中做到这一点。举个例子
  • @tamil_arvu 看看thisthis 以及PHP Doc
  • 感谢 hashhem quolami

标签: jquery ajax arrays post


【解决方案1】:

你可以试试下面的代码结构:

在你的脚本中:

$('.clickfu').click(function(){

        var value1 = $('#$value1').val();

        var value2 = $('#$value2').val();

        var value3 = $('#$value3').val();

        var value4 = $('#$value4').val();

            $.ajax({
                        type:'post',
                        url:'<?php echo base_url();?>/controller_name/method_name',
                        data:{
                                value1 : value1,
                                value2 : value2,
                                value3 : value3,
                                value4 : value4,

                             },
                        success : function(res){
                            if( res == 1 )
                            {
                                alert(' Success..!!');
                            }
                            else
                            {
                                alert('Oops..!! Something went wrong.Please try again.');
                            }
                        }
                    });
        });

在你的控制器中:

    public function method_name()
    {
          if(isset($_POST))
            {

                $insert_array = array(

                                   'value1'       => $_POST['value1'],
                                   'value2'       => $_POST['value2'],
                                   'value3'       => $_POST['value3'],
                                   'value4'       => $_POST['value4'],

                                );
                $res = $this->model_name_db->insertValues($insert_array);
                if( $res > 0 )
                {
                   echo"1";exit;
                }  
                else
                {
                   echo"0";exit;
                }  
            }
            else
            {
                // your action
            }

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多