1

我正在使用这个 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);
 }
});
4

3 回答 3

1

您需要将 PHP 数组编码为 JSON 数组。

<?php
    echo (json_encode($myPhpArray));
?>
于 2013-09-03T15:36:18.270 回答
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'));
于 2013-09-03T15:40:18.363 回答
0

您可以使用 stringify 将数组序列化为 JSON 以传递它们。将此添加到您的 Ajax 调用中:

data: JSON.stringify(arr);

将 arr 替换为您的 JavaScript 数组。不过这需要一个插件。查看此答案以获取更多信息。

或者,如果您的数组是在 PHP 中,而不是在 JavaScript 中,您可以像这样直接回显它:

data: <?php echo json_encode($arr) ?>,
于 2013-09-03T15:37:58.820 回答