Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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
Javascript 浏览器显示:Can';找不到变量:$?_Javascript_Php_Jquery_Json_Canvasjs - Fatal编程技术网

Javascript 浏览器显示:Can';找不到变量:$?

Javascript 浏览器显示:Can';找不到变量:$?,javascript,php,jquery,json,canvasjs,Javascript,Php,Jquery,Json,Canvasjs,我对javascript(jquery/json)非常陌生,我编写了这段代码,用php/json数据获取脚本呈现CanvasJS图表 但是,当我在其中实现代码时,图表不会显示出来。当我在web浏览器中使用Console.log()查找引用错误时,它会说:找不到变量:$…Chart.html:11 我已经尝试了很多方法,并且读到了很多[重复的]问题/答案,说我没有加载Jquery库和其他一些选项。我已尝试实施这一路线: <script type="text/javascript" src="

我对javascript(jquery/json)非常陌生,我编写了这段代码,用php/json数据获取脚本呈现
CanvasJS
图表

但是,当我在其中实现代码时,图表不会显示出来。当我在web浏览器中使用
Console.log()
查找引用错误时,它会说:
找不到变量:$…Chart.html:11

我已经尝试了很多方法,并且读到了很多[重复的]问题/答案,说我没有加载Jquery库和其他一些选项。我已尝试实施这一路线:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"> </script>

我尝试了很多变量,但我不认为我能在这两个代码中使用更多

任何指向正确方向的点都很好

Chart.html

<!DOCTYPE HTML>
<html>
<script type="text/javascript" src="canvasjs.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"> </script>


<head>
    <script type="text/javascript">

                $(document).ready(function () {

                $.getJSON("data.php", function (result) {

                var dataPoints = [];

                for (var i = 0; i <= result.length - 1; i++) {
                dataPoints.push({ x: Number(result[i].x), y: Number(result[i].y) });
                }

                var chart = new CanvasJS.Chart("chartContainer", {
                data: [
                {
                dataPoints: dataPoints
                }
                ]
                });

                chart.render();
                });
        });


</script>

</head>
<body>
    <div id="chartContainer" style="height: 300px; width:100%;">
    </div>
</body>
</html>

$(文档).ready(函数(){
$.getJSON(“data.php”,函数(结果){
var数据点=[];
对于(var i=0;i
我知道stack overflow社区总是需要更多的信息,但看在上帝的份上,我不知道了,我真的很想了解这一点

编辑-1:

这是我所知道的,但没有结果

<!DOCTYPE HTML>
<html>
<head>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"> </script>
<script type="text/javascript" src="canvasjs.min.js"></script>
    <script type="text/javascript">

                $(document).ready(function () {

                $.getJSON("data.php", function (result) {

                var dataPoints = [];

                for (var i = 0; i <= result.length - 1; i++) {
                dataPoints.push({ x: Number(result[i].x), y: Number(result[i].y) });
                }

                var chart = new CanvasJS.Chart("chartContainer", {
                data: [
                {
                dataPoints: dataPoints
                }
                ]
                });

                chart.render();
                });
        });


</script>

</head>
<body>
    <div id="chartContainer" style="height: 300px; width:100%;">
    </div>
</body>
</html>

$(文档).ready(函数(){
$.getJSON(“data.php”,函数(结果){
var数据点=[];
对于(变量i=0;i数据长度)
{
dps.shift();
}
chart.render();
};
//生成第一组数据点
updateChart(数据长度);
//在指定时间后更新图表。
setInterval(函数(){updateChart()},updateInterval);
}

看起来jQuery是在canvasJS之后加载的。如果canvasJS需要使用jQuery,则需要先加载jQuery。尝试切换这些行,以便将jQuery加载到顶部,这样可能会修复您的错误

编辑:实际上,承载jQuery的CDN似乎没有使用$作为主jQuery对象的名称。如果将$更改为“jQuery”,则应解决该错误。例如:

$(document).ready
将成为:

jQuery(document).ready

与$.getJson相同,Jquery的加载似乎不正确,我认为这是因为您的非常规做法是将外部脚本直接包含在元素之后。请尝试将它们向下移动到您自己的脚本之前的头部

编辑:这篇文章被更新了,显然这没有帮助

解决了它

首先包括这一行:

然后包括这一行:代码下面,而不是上面

然后转到my data.php并注释(或删除)这一行://$json=str\u replace(“\”,“,$json);//将所有“”替换为零

为什么要问?因为CanvasJS需要字符串,而不是单独的字符/整数

因此,输出将为:

[{“x”:“1”,“y”:“5”},{“x”:“2”,“y”:“5”},{“x”:“3”,“y”:“4”},{“x”:“1”},{“x”:“5”,“y”:“8”},{“x”:“6”,“y”:“9”{“x”:“7”,“y”:“5”},{“x”:“8”,“y”:“6”{“x”:“9”,“y”:“4”},{“x”:“10”,“y”:“7”{“x”:“14”{“y”:“7”},{“y”:“7”},{“7”}

而不是:

[{x:1,y:5},{x:2,y:5},{x:3,y:4},{x:4,y:1},{x:5,y:8},{x:6,y:9}等等


将两个
标记放在
中,如果
canvasjs
依赖于jQuery,那么您应该将
jQuery.js
放在列表的第一位。我会尝试一下,谢谢您将jQuery库放在其他js文件的上方我应该将大括号中的文档更改为例如JSON(变量)?这样的内容:$(JSON).ready(函数()哇,我不知道代码有那么敏感,但它似乎是合乎逻辑的。我会试试看:)所以这里有一些问题。你希望你的脚本标签能够同时加载jquery和canvasjs,而不是在上面。但是,在大多数情况下,这有点不理想。这是因为Javascript在加载时会阻塞,这意味着它将停止加载页面的其余部分。$document(ready)函数脚本块也应该移到主体下方(dom完成加载后该函数运行,这意味着主体中的所有代码都已被解释)。您还可以尝试将“$”更改为“jQuery”,因为cdn使用jQuery作为主函数的名称,而不是$。例如jQuery(document).readyyeah,值得一试!您不会更改php变量。只要是引用$作为jQuery对象的javascript。因此:jQuery(document).ready(function(){jQuery.getJSON(“data.php”),function(result){Let-us。
$(document).ready
jQuery(document).ready