访问 jQuery.ajax 中的 PHP 数组值无效

Accessing PHP array value in jQuery.ajax is not working

我正在使用 jQuery.ajax 将用户输入发送到 PHP 并取回一个数组。当我 alert/console.log 响应时,它完美地显示了警报中的数组。但是在尝试访问数组的单个元素时,出现 undefined 错误。我需要访问数组的单个元素。我究竟做错了什么?请帮忙。

instagram.php

$nola = array("mediac" => $bola, "userc" => $bola2);
echo json_encode($nola);

jquery ajax 文件

var formData = jQuery('#myForminstagram').serialize();
jQuery.ajax({
        url:'instagram.php',
        type:'POST',
        data: formData,
        success: function(response) {
                var myuser = response.userc;
                alert(response); //works & shows the array as {"mediac" => $bola, "userc" => $bola2}
                alert(myuser); // doesn't work & show undefined error
                }
    });

这是因为您的 jquery 代码将响应读取为文本,而不是 json,因此您必须告诉它读取为 json,方法是:

1.You 可以将 header('Content-Type:application/json; charset=utf-8'); 添加到您的 instagram.php.

2.You 可以将 dataType: 'json' 添加到您的 jquery ajax 文件中。