如何通过Ajax将数组和复选框传递到另一个PHP文件

时间:2018-08-24 01:53:59

标签: php ajax

我有一种形式可以传递aaa.php输入的某些数据的ID,包括数组(下面的隐藏输入)和复选框, aaa.php:

gs:// Model URI

我想使用ajax将这些数组和复选框传递给functions.php,请使用下面的文件,

<input type="hidden" id="input_data" value="<?php echo 
json_encode($input_data); ?>"/> 
<input type="checkbox" name="checkoption" value="<?php echo $i; ?>"> 
Choice
<textarea id="msg" name="msg" rows="5" cols="45" placeholder="Leave your 
message!"></textarea>

==>下面是console.log输出

var option=[];
 // Initializing array with Checkbox checked values
 $("input[name='checkoption']:checked").each(function(){
    option.push(this.value);
    });
    var input_data = $('#input_data').val();
    var msg=$('#msg').val();
    console.log(input_data);
    console.log(option);
    var data = {
       'action': 'rfq_form',
       'input_data': input_data,
       'choice': option,
       'msg': msg      
     };

    $.post(ajaxurl, data, function(response) {
          //console.log('form submitted');
        }); 
    });

在functions.php中,我使用var_dump和print_r命令检查其反馈。

Array
(
    [0] => Yes
    [1] => 150
    [2] => 2
    [3] => 0
    [4] => 0
    [5] => 0
    [6] => 
    [7] => 0
)

(3) ["1", "2", "3"]

,但print_r输出为NULL。 不知道为什么以及如何检索var_dump($_POST); $input_data=json_decode($_POST["input_data"], TRUE); $choice=json_decode($_POST["choice"], TRUE); print_r($input_data); print_r($choice); var_dump output ==> array(4) { ["action"]=> string(8) "rfq_form" ["input_data"]=> string(117) "Array ( [0] => Yes [1] => 150 [2] => 2 [3] => 0 [4] => 0 [5] => 0 [6] => [7] => 0 ) " ["choice"]=> array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" } ["msg"]=> string(12) "message test" } $input_data输入数组? 非常感谢您的指导!

0 个答案:

没有答案