【问题标题】:Passing an array from Ajax to PHP将数组从 Ajax 传递到 PHP
【发布时间】:2023-03-13 20:30:01
【问题描述】:

我是 ajax 的新手,我通过 btn 表中的 js 函数创建了这个数组:我尝试了很多方法但没有成功,我的 *.php 中没有打印任何内容.. 即使使用print_rvar__dump

console.log(数据)

{"datos":[{"value":false,"id":"173"},{"value":false,"id":"172"},{"value":false,"id":"171"},{"value":false,"id":"170"}]}

大问题是:如何将这个数组传递给 php,因为我需要用这些值更新表 sql

JS:

$('#update').click(function(e){
e.preventDefault();
var datos = [],
    data = '',
    checkStatus = document.getElementsByName('check');

    for(var i=0;i<checkStatus.length;i++){
        var item = {
            "value": checkStatus[i].checked,
            "id": checkStatus[i].getAttribute('data-id')
        } 
        datos.push(item);
    }
    data = JSON.stringify({datos:datos});

$.ajax({
    type: "POST",
    url: "updateTable.php",
    datatype: "json",
    data: {data}, 
    cache: false,

    success: function(){
        console.log(data);
    }
});
});

PHP:

??????????

【问题讨论】:

  • 好吧,你可以像传递任何其他变量一样传递数组。您将在PHP 中提取数据。但就传递而言,您在 data 部分传递 array variable 名称。
  • “我试过很多方法”你试过var_dump($_POST);吗?
  • print_r( json_decode( $_POST['data'], true ) );开头

标签: javascript php arrays ajax json


【解决方案1】:

在服务器端..

 var_dump(json_decode($json));

或每个

 $json = '{"foo-bar": 12345}';

 $obj = json_decode($json);
 print $obj->{'foo-bar'}; // 12345

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2014-01-09
    相关资源
    最近更新 更多