【发布时间】:2020-02-12 19:53:21
【问题描述】:
我在 PHP 中有多维数组,我已使用 json 编码将其转换为 json。现在,当我在 javascript 中执行 console.log 时,它显示未定义。
当我执行 JSON.parse 时,错误显示
jquery.js:687 Uncaught SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
这是我的 json 编码数据
"{"select_data":[{"id":10563,"fullname":"Raj Bahadur Thapa","created_by":121,"company_id":68,"company_name":"WhiteHat","selected_at":"2019-10-03 12:14:18","t_count":1,"p_count":3.571428571428571},{"id":10554,"fullname":"Sebastian Antony Sahayan","created_by":121,"company_id":19,"company_name":"Concentrix","selected_at":"2019-10-03 11:22:15","t_count":3,"p_count":10.714285714285714},{"id":10545,"fullname":"Natasha Fernandes","created_by":121,"company_id":21,"company_name":"Firstsource","selected_at":"2019-10-03 10:37:59","t_count":3,"p_count":10.714285714285714},{"id":10537,"fullname":"Farahnaaz Khan","created_by":121,"company_id":90,"company_name":"Hexaware","selected_at":"2019-10-03 10:08:17","t_count":2,"p_count":7.142857142857142},{"id":9788,"fullname":"Saneesh M","created_by":121,"company_id":11,"company_name":"Tele Performance ","selected_at":"2019-10-03 09:58:38","t_count":19,"p_count":67.85714285714286}],"p_count_arr":[3.571428571428571,10.714285714285714,10.714285714285714,7.142857142857142,67.85714285714286]}"
Laravel 查询
public function company_wise_select()
{
$sub_query = DB::table('in_lineups_tracker')
->join('in_lineups', 'in_lineups.id', '=', 'in_lineups_tracker.candidate_id')
->join('companies', 'companies.id', '=', 'in_lineups.company_id')
->join('users', 'users.id', '=', 'in_lineups.created_by')
->where([
['in_lineups_tracker.status', 19],
['in_lineups_tracker.type', 3],
['users.id', 405]
])
->groupBy('in_lineups.id')
->select(
'in_lineups.id',
'in_lineups.fullname',
'in_lineups.created_by',
'companies.id as company_id',
'companies.name as company_name',
'in_lineups_tracker.created_at as selected_at'
);
$el_query = DB::table(DB::raw("({$sub_query->toSql()}) as table_001"))
->mergeBindings($sub_query)
->select(
'*',
DB::raw('COUNT(*) as t_count')
)
->groupBy('table_001.company_id')
->orderBy('table_001.selected_at', 'DESC')
->limit(5)
->get();
$totalCount = $el_query->sum('t_count');
foreach ($el_query as $select)
{
$select->p_count = ($select->t_count/$totalCount) * 100;
$p_count_arr[] = $select->p_count;
}
$data['select_data'] = $el_query;
$data['p_count_arr'] = $p_count_arr;
return json_encode($data);
}
如何在 javascript 中对其进行 json 解码并利用数据?
【问题讨论】:
-
你能显示那个 php 代码吗?
-
你的 JSON 不正确,试试JSON VALIDATE
-
未定义?错误似乎是质疑 JSON 的有效性。
-
您发布为“json 编码数据”的值既不是 JSON,也不是 JavaScript 字符串。如何将数据从 PHP 脚本传输到 JavaScript 代码?你是使用 Ajax 还是 PHP 代码生成 JavaScript 代码?
-
我是 json 编码 Laravel 集合
标签: javascript php json