Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Laravel route上的Ajax调用,该调用返回一个json编码的数组,其中包含ChartJS标签的日期_Jquery_Html_Json_Laravel_Html Entities - Fatal编程技术网

Jquery 在Laravel route上的Ajax调用,该调用返回一个json编码的数组,其中包含ChartJS标签的日期

Jquery 在Laravel route上的Ajax调用,该调用返回一个json编码的数组,其中包含ChartJS标签的日期,jquery,html,json,laravel,html-entities,Jquery,Html,Json,Laravel,Html Entities,我有一个Laravel5.7项目,使用ajax和ChartJS 在页面加载时,我对“action\u route”进行ajax调用,它返回我的ChartJS的标签。php函数是json编码的标签数组,ajax对其进行解码 function get_data($year) { $test = \DB::select( \DB::raw(" SELECT DATE_FORMAT(date_for,'%c/%y') AS 'month',

我有一个Laravel5.7项目,使用ajax和ChartJS

在页面加载时,我对“action\u route”进行ajax调用,它返回我的ChartJS的标签。php函数是json编码的标签数组,ajax对其进行解码

function get_data($year) {
    $test = \DB::select( \DB::raw("
        SELECT 
            DATE_FORMAT(date_for,'%c/%y') AS 'month',
            col1,
            col2,
            col3
        FROM test
        WHERE
            AND YEAR(date_for) = '" . $year . "'
        GROUP BY month
        ORDER BY month ASC
    ") );

    return $test;
}

public function action_route() {
   $data = self::get_data(2018);
   foreach($data as $x) {
      $labels[] = $x->month;
   }
}

return view('/test/get_data', [
     'labels' => json_encode($labels)
]);
DATE_格式(DATE_表示,'%c/%y')为'month',因为如果此格式为'01/18','02/18'等,我需要日期

在模板中:

var labels = JSON.parse('{{ $labels }}');
问题 这是get放入html的内容


当使用
{{}
时,laravel将转义它显示的数据。要阻止它转义数据,您应该将它包装在
{!!!!}

var labels = JSON.parse('{!! $labels !!}');

有关更多信息,您可以查看

图表现在显示,但它仍然不正常,我得到的标签有:“1%2B18”、“10%2B18”。我认为这是在HTML问题上的一种转换字符的方式。很抱歉之前的评论。我试着自己做的事情打破了它。感谢you@JohnDoe没关系,我很高兴能帮上忙。只是出于好奇,你为什么用原始的查询而不是雄辩的?您是否为
test
表设置了雄辩的模型?因为这是一个非常复杂的查询,不可能使用雄辩,这只是一个简单的示例,实际的查询非常庞大。(我有模型和控制器)@JohnDoe啊,很公平。