访问 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 文件中。
我正在使用 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 文件中。