javascript - 使用Ajax从javascript发送数组到php,不使用表单

标签 javascript php arrays ajax post

我正在尝试使用ajax将数组从javascript发送到php。我的问题是 PHP 中的数组是空的,我不知道为什么。

我的数组:vacio['num1:1','num2:2'....]

这是我的javasvascript:

    var vacio = new Array; 
    vacio = addElementAttributesToArrayEncode();

    var miJSON = JSON.stringify(vacio);

    var miAjax = new Request({
        type: "POST",
        url: "/multyWeb/actions/maintenance/mUpdateProductAction.php",
        data: "ark=" + miJSON,
         onSuccess: function(textoRespuesta){
        console.log("ok");console.log(textoRespuesta);
        },
        onFailure: function(){
        console.log("fallo");
        }
})
miAjax.send();

这是我的 php:

if($_POST){
        echo "recibo algo POST Producto";
        //recibo los datos y los decodifico con PHP
        $str = json_decode($_POST['ark'], true); 
        echo json_encode($str); }

        else { echo "Error del POST";}

数组 $str 为空...出了什么问题?

谢谢

最佳答案

修改您的 ajax 调用并将内容类型设置为 json 并将数据作为 json 发送,而不是对其进行字符串化。

var miAjax = new Request({
    type: "POST",
    url: "/multyWeb/actions/maintenance/mUpdateProductAction.php",
    contentType: "application/json"
    data: {'data':miJSON},
     onSuccess: function(textoRespuesta){
    console.log("ok");console.log(textoRespuesta);
    },
    onFailure: function(){
    console.log("fallo");
    }
})
miAjax.send();

关于javascript - 使用Ajax从javascript发送数组到php,不使用表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041079/

相关文章:

php - 只允许一些字母,禁止特殊字符($% 等),除了其他字符 (' -)

javascript - 如何向 JSON 对象中的每个条目添加唯一 ID?

java - 比较Java中的两个POJO对象并显示差异

javascript - 通过 RTC 数据通道发送图像数据

javascript - lodash debounce 在匿名函数中不起作用

php - 使用 Delphi 2010 和 php4Delphi 编写 PHP 扩展

javascript - 删除从索引 0 开始的二维数组中的重复值

javascript - 尝试制作一个 html 复选框,将数字添加到输出字段

javascript - 弹出 ' Don' t 再次显示此消息 ' 选项

php - MySQL 将 group By 子句拆分为多个列