Javascript php检索多个json对象数组

Javascript php检索多个json对象数组,javascript,php,ajax,json,google-maps-api-3,Javascript,Php,Ajax,Json,Google Maps Api 3,我正在向数据库发送一个JSON对象数组。它们保存为: function send_custom_markers() { var reponse = confirm("Send markers to selected contacts?"); if (reponse === true) { var json_markers = new Array(); for (var i = 0; i < myCustomMarkers.length

我正在向数据库发送一个JSON对象数组。它们保存为:

function send_custom_markers() {
    var reponse = confirm("Send markers to selected contacts?");
    if (reponse === true)
    {
        var json_markers = new Array();
        for (var i = 0; i < myCustomMarkers.length; i++) {
            json_markers.push({
                title: myCustomMarkers[i].getTitle(),
                lat: myCustomMarkers[i].getPosition().lat(),
                lng: myCustomMarkers[i].getPosition().lng(),
                img: myCustomMarkers[i].getIcon(),
            });
        }

        json_markers = JSON.stringify(json_markers);

        $.ajax({
            type: 'post',
            url: 'dist/backend/action_controller.php',
            data: {action: "send_custom_markers", userID: userID, data: json_markers},
            success: function() {
                alert("Markers Sent");
            }
        });
    }
}
现在我需要把他们都弄出来

Php代码:

$result = $this->query($sql);
$friends_markers = array();
while ($row = $result->fetch_array()) {
    $friends_markers[] = json_encode($row, true);
    //Something needs to go here.
}
echo $friends_markers;      
和JavaScript代码:

function get_friends_custom_markers(userID) {
    $.ajax({
        type: 'post',
        url: 'dist/backend/action_controller.php',
        dataType: 'json',
        data: {action: "get_friends_custom_markers", userID: userID},
        success: function(friends_markers) {
            alert(friends_markers[0][0].title);
        },
        error: function(xhr, thrownError) {
            alert(xhr.status);
            alert(thrownError);
        }
    });
}  
我把警报放在那里只是为了测试结果

我的逻辑是,对于每个用户,他们都保存了一个JSON对象数组。 为了把它们全部弄出来,我需要一个数组,它的每个元素都是一个JSON对象数组。 因此,如果我这样做:

alert(friends_markers[0][0].title);
输出应为:

"Marker: 1"
但是我得到了

200
parsererror

我知道一切都会顺利,直到最后结果。我知道问题在于php函数中的while循环。我试过很多不同的方法,但都不管用。这花了我好几天的时间。我不熟悉php和JavaScript。这是我正在进行的项目的最后一部分。一旦我可以把它们全部放在一个数组中,我就可以把它们都画到谷歌地图上。所以任何事情都会有帮助。谢谢

通过在success()回调中使用
console.log(friends\u markers)
将friends\u标记转储到浏览器的调试控制台,您应该能够更好地了解ajax调用的结果。所有当前的浏览器都随控制台一起提供,尽管每个浏览器的访问方式都不同。

您应该能够更好地了解ajax调用的结果,方法是使用success()回调中的
console.log(friends\u markers)
将friends\u标记转储到浏览器的调试控制台。所有当前的浏览器都随控制台一起提供,尽管每个浏览器的访问方式都不同。

您必须对$friends\u标记进行编码,目前您只对推送到$friends\u标记的项目进行编码,而不是对整个阵列进行编码谢谢Molle博士!在对$friends\u标记进行编码后,这在某种程度上起到了作用。现在,friends_markers[0][0]为我提供了输入数据库的精确字符串。如果我执行var test=JSON.parse[0][0],然后执行测试[0]。title,这将为我提供标记:1,如果我执行测试[1]。title,它将为我提供标记:2。虽然不是我真正想要的,但我现在可以得到我需要完成的!再次感谢!!!作为更新,这就是我所做的。现在,我只对$friends\u标记进行编码,而不是对$row进行编码。在JavaScript代码中,我添加了一个for循环,for(I=0,iyou必须对$friends\u标记进行编码,目前只对推送到$friends\u标记的项目进行编码,而不是对整个数组进行编码谢谢Molle博士!在对$friends\u标记进行编码后,这在某种程度上起到了作用。现在friends\u标记[0][0]提供我放入数据库的内容的确切字符串。如果我执行var test=JSON.parse[0][0],然后执行test[0]。title,这将为我提供标记:1,如果我执行test[1].title它给了我标记:2.虽然不是我想要的,但我现在可以完成我需要完成的任务了!再次感谢!!!作为更新,这就是我所做的。现在,我没有对$row进行编码,而是只对$friends\u标记进行编码。在JavaScript代码中,我添加了for循环,例如(i=0,我感谢您的响应。console.log在alert()中为我提供了相同的内容,但没有恼人的弹出文本框。感谢您的响应。console.log在alert()中为我提供了相同的内容,但没有恼人的弹出文本框。
200
parsererror