我使用此ajax将字符串数组传递给另一个页面。
这是nomes.php上的数组
[ 'Home','A empresa','funcionarios','Quem Somos?','Historia','Inicio',]
这是代码,警报不起作用 - 任何人都可以帮忙吗?
$.ajax({
type: 'post',
url: 'nomes.php',
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
dataType: "json",
success: function(data){
v=data;
alert(v);
}
});
答案 0 :(得分:1)
您需要将PHP数组编码为JSON数组。
<?php
echo (json_encode($myPhpArray));
?>
答案 1 :(得分:0)
您可以使用stringify将数组序列化为JSON以传递它们。将此添加到您的Ajax调用:
data: JSON.stringify(arr);
用您的JavaScript数组替换arr。这需要一个插件。有关详细信息,请查看this answer。
或者,如果您的数组是PHP,而不是JavaScript,您可以直接回显它:
data: <?php echo json_encode($arr) ?>,
答案 2 :(得分:0)
如果您尝试将json传递给服务器,可以这样做:
var strArray = ['str1', 'str2', 'str3'];
$.ajax({
type: 'post',
url: 'nomes.php',
data: {strarray: strArray},
dataType: "json",
success: function(data){
v=data;
alert(v);
}
});
如果您尝试接收它,则需要在php端设置标题:
header('content-type: application/json');
echo json_encode(array('str1', 'str2', 'str3'));