javascript - 在 PHP 中解析 JSON_Decoded 数组

标签 javascript php json ajax

我正在将数据传递给已“json_stringified”的 ajax 调用。我能够将数据传递给 PHP,但是当尝试访问传递的数组中的项目时,我收到以下错误:

“尝试获取非对象的属性”

我已经尝试了很多方法,但我被困住了。有人可以帮忙吗?我的代码如下:

js:

    $.ajax({
        url: 'http://localhost/VibeSetter/services/getlocationsFavs.php',
        dataType: 'json',
        type: "POST",               
        data: {favs: JSON.stringify(localStorage.getArray("myFavs"))},
        success: function(data, status)
        {
            $.each(data, function(i,item)
            { 
                //pass to function to fill array
                      populateLocationsArray(i+1, item.idlocations,item.name,item.longitude, item.latitude);

            });
        },

         error: function(jqXHR, textStatus, errorThrown)
        {
            console.log(arguments);
        //  alert('HTTP Error: '+errorThrown+' | Error     Message:'+textStatus);

        }
    });

}

console.log(localStorage.getArray("myFavs")) 返回:

{位置:1},{位置:0},{位置:4293315}

php:

<?php
  header('Content-type: application/json');

  include 'config.php';
  $data = json_decode($_POST['favs']);
  var_dump($data);

  foreach($data as $d)
  {
      print $d->locations;
  }

  ?>

它会在 Chrome 开发者工具 Pane 中返回以下内容:

array(3) {
  [0]=>
  string(14) "{locations: 1}"
  [1]=>
  string(14) "{locations: 0}"
  [2]=>
  string(20) "{locations: 4293315}"
  }


注意:尝试在10行的C:\xampp\htdocs\VibeSetter\services\getlocationsFavs.php中获取非对象的属性< br/>
注意:尝试在10行的C:\xampp\htdocs\VibeSetter\services\getlocationsFavs.php中获取非对象的属性< br/>
注意:尝试在10行的C:\xampp\htdocs\VibeSetter\services\getlocationsFavs.php中获取非对象的属性< br/>

有人可以告诉我如何访问该数组的每个元素吗?这个想法是解析每个“位置”值,并在代码中进一步连接查询中的位置作为查询搜索中的特定值。

提前致谢

最佳答案

考虑到 $_POST['favs'] 的值为 '[{"locations": "1"},{"locations": "0"},{"locations": "4293315"}]';

那么,

$array = json_decode($_POST['favs'],TRUE);
foreach($array as $d)
{
    print $d['locations'];
}

当为 TRUE 时,返回的对象将转换为关联数组。

<强> Reference

关于javascript - 在 PHP 中解析 JSON_Decoded 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38066367/

相关文章:

javascript - 使用 javascript 打印时出现分页问题 - Chrome、Firefox、IE9 及更高版本

php - 检查数据库中是否有重复的 ID 值,然后根据行中的另一个值插入 if 或不执行任何操作

javascript - rails : routing to a html file in the root directory

javascript - 使用 javascript,客户端打开文件

javascript - Bootstrap 3 - 折叠时自定义导航栏相对于品牌/ Logo 的位置

php - 每页的动态限制 Knp Pagination

php - 我怎样才能创建成功返回函数?

java - 如何使用 JSONArray 从数据库中检索项目

javascript - 键值对 Json 转换并转换为 Javascript/Jquery 中的类

python - 如何以 CSV 表格格式将原始数据源从 Google Big Query 导出到 R 服务器?