javascript - 将带有字符串的 javascript 数组发送到 php 操作

标签 javascript php arrays image

我想将带有图像字符串的数组发送到我的 php 操作。这就是我到目前为止所做的:

$('#savepdf').click(function() {
    var imagesarray = new Array();
    var count = 4;
    var quizid = <?php echo json_encode($quizid); ?>;
    for (var i=0; i<count; i++)
    {
        var chart = Highcharts.charts[i];
        var canvasname;
        if(i == 0){
            canvasname = "canvas";
        }
        else{
            canvasname = "canvas" + i;
        }

        // get highcharts
        canvg(document.getElementById(canvasname), chart.getSVG())

        var canvas = document.getElementById(canvasname);
        var img = canvas.toDataURL("image/png");

        imagesarray[i] = img;
    }

    imagesarray = JSON.stringify(imagesarray);

    // AJAX CALL TO ACTION
    $.download('/results/savepdf','quizid=' + quizid + '&image=' + imagesarray);
});

我发送的数组如下所示:

["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQ…197b1kPfJ5y3guHO4WLEyAAAECBAgcEFjz7y+zZJ6ttf8GC0YA4ro/bucAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQ…9v2cl0YeqeBTqMAAIIIIAAAgMINO3aT3a+sfNxGIa7fwBwOTGmIk2OYgAAAABJRU5ErkJggg==","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQ…xdLNBhIkAEiAARIAJEIA8I7FRlf1T/XlD/hhcoUOCv/we6Hn4A9659wwAAAABJRU5ErkJggg==","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQ…BdGOlYwAkjASSABJAAEkACBgm8UI89qf6sUX9GRIkS5cr/AFfL9D3Dad7CAAAAAElFTkSuQmCC"]

在我的 PHP 操作中,我执行以下操作:

if(isset($_POST['quizid']))
     $quizid = $_POST['quizid'];
if(isset($_POST['image']))
     $image = $_POST['image'];

var_dump(json_decode($image));

转储仅显示“NULL”。当我这样做时:

var_dump($image);

我刚刚得到:string(1) "["

最佳答案

尝试:

imagesarray = encodeURIComponent( JSON.stringify(imagesarray) );

更新

并在 php 中使用

$image = json_decode(urldecode($_POST['image']));

关于javascript - 将带有字符串的 javascript 数组发送到 php 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19809596/

相关文章:

javascript - 将 Bootstrap 添加到现有标题以进行折叠并使用 Bootstrap 动画

javascript - 比较两个数组以获取属性计数

javascript - 如何使用 JS 设置元素的不透明度?

php - 为 MySQL 编写的 PDO 脚本是否应该与 Oracle 一起使用?

php - 类型提示模型数组

javascript - 仅当我们在 Chrome 浏览器中按 F12(开发者工具)时, Highcharts 才会显示数据

php - 如何在 PHP 中启用正则表达式的空格不敏感模式?

php - Yii2 使用存储在数组中的值填充更新表单

c - c语言数组的定义

PHP 数组没有返回值