从javascript发送HTTP请求时,如何从PHP脚本返回数组?

时间:2019-01-01 02:23:32

标签: javascript php

嗨,我是PHP的新手,我遇到了一个问题, 我想将HTTP请求发送到PHP脚本,它应该返回2x2数组。但是用我的代码我什么也没收到。

index.html:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        var xhr = new XMLHttpRequest();
        xhr.open("GET", "get_info.php");
        xhr.onload = function () {
            console.log(xhr.responseText);                    
        };
        xhr.send();
    </script>    
</body>
</html>

get_info.php:

<?php
    $return_array = [[1, "h"],[2, "he"],[3, "hel"],[4, "hell"],[5, "hello"]];
    return $return_array;
?>

2 个答案:

答案 0 :(得分:1)

json_encode()数组,然后echo(不返回!)生成的json字符串:

<?php
    $return_array = [[1, "h"],[2, "he"],[3, "hel"],[4, "hell"],[5, "hello"]];
    echo json_encode($return_array);
    // remove the trailing ?> just to make sure you don't send an unwanted newline, space or smth

然后使用javascript

var myArray = JSON.parse(xhr.responseText); 
console.log(myArray);

再次用它制作一个js数组。

一些文档和相关读物:

答案 1 :(得分:0)

使用echo代替return ...这不是被调用的函数;这是一个代码片段,仅将动态数据替换为静态文本。