在JavaScript数据中传递JSON值

在JavaScript数据中传递JSON值,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我有一个外部JavaScript文件,它以JSON的形式返回PHP响应,我尝试并检查它的输出是否符合要求,我希望将此数据传递给canvasjs的数据点 下面是我的json输出,经过检查和测试,并按照JavaScript的要求返回 { x: 1, y: 59 },{ x: 2, y: 93 },{ x: 3, y: 477 },{ x: 4, y: 506 } 存储在sthtml变量中。 这是代码的一部分 var html = ''; var sthtml = ''; var ndhtml =

我有一个外部JavaScript文件,它以JSON的形式返回PHP响应,我尝试并检查它的输出是否符合要求,我希望将此数据传递给canvasjs的数据点

下面是我的json输出,经过检查和测试,并按照JavaScript的要求返回

{ x: 1, y: 59 },{ x: 2, y: 93 },{ x: 3, y: 477 },{ x: 4, y: 506 }
存储在sthtml变量中。 这是代码的一部分

var html = '';
var sthtml = '';
var ndhtml = '', downlo;
for (var i = 0; i < data.length; i++) {
    z = i + 1;
    downlo = data[i];
    html += '<tr id="' + i + '"><td>' + z + '</td></tr>';
    sthtml += '' + downlo.stchart + '';
    ndhtml += '' + downlo.ndchart + '';
}
$('#down-btn').html(html);
var html='';
var sthtml='';
var ndhtml='',downlo;
对于(变量i=0;i
现在我将这个sthtml和ndhtml变量值传递给带有这个ndhtml和sthtml的页面javascript。我尝试了“+sthtml+”和所有其他可能的值,但数据没有返回,并且我的图形为空

<script type="text/javascript">
window.onload = function() {
    var sthtml = [];
    var ndhtml = [];
    var chart = new CanvasJS.Chart("chartContainer", {
        axisY: {},

        data: [{
            dataPoints: [sthtml]
        }, {
            dataPoints: [ndhtml]
        }],

        legend: {
            cursor: "pointer",
            itemclick: function(e) {
                chart.render();
            }
        }
    });
    chart.render();
}
</script>

window.onload=函数(){
var sthtml=[];
var ndhtml=[];
var chart=new CanvasJS.chart(“chartContainer”{
轴:{},
数据:[{
数据点:[sthtml]
}, {
数据点:[ndhtml]
}],
图例:{
光标:“指针”,
项目点击:功能(e){
chart.render();
}
}
});
chart.render();
}
我认为,当我加载页面时,它是空的,稍后当用户提交表单时,这些值会被填充,所以我们需要通过一些推送再次更新这些值

任何帮助都很有用。如何在上述JavaScript数据点中传递sthtml和ndhtml值

<script type="text/javascript">
window.onload = function() {
    var sthtml = '';
    var ndhtml = '';
    var chart = new CanvasJS.Chart("chartContainer", {
        axisY: {},

        data: [{
            dataPoints: [sthtml]
        }, {
            dataPoints: [ndhtml]
        }],

        legend: {
            cursor: "pointer",
            itemclick: function(e) {
                chart.render();
            }
        }
    });
    chart.render();
}
</script>

在数据对象内部,您需要一个dataPoints对象,而在dataPoints对象内部,您的json数据应该是。试试这个,我希望它能起作用。

这些行是什么:
sthtml+=''+downlo.stchart+''
应该按照您的要求执行吗?@Glubus its增加并添加值,这样在循环输出类似于{x:1,y:59},{x:2,y:93},{x:3,y:477},{x:4,y:506}之后,它就变成这样了。请参考
CanvasJS.Chart
并检查它们的性能examples@PankajMakwana谢谢你的主意。它们有所有外部json数据文件,比如some.php,它们通过函数返回并再次调用它们。我的问题是为什么“+sthtml+”不起作用。该值已存在且已初始化,因此必须推送该值。我认为,当我加载页面时,页面是空的,稍后用户提交表单时,这些值会被填充,因此我们需要通过一些按钮再次更新这些值。您没有发送JSON数据,只是连接字符串并将其传递到Canvas.chart库。我在您提供的链接中看不到任何内容@hareomupload任何图像。你可以看到。canvas js在同一页中,其他js在script721中。js您是否将两个JavaScript代码保存在不同的文件中。从您提供的代码来看,您的两个javascript文件似乎没有连接。请您提供您的html、php和完整的javascript代码.thx以供回复。您所说的连接是什么意思。它不是需要单独连接的数据库。它会自动执行。如果我能解决,我会更新你。大多数情况下,我的意思是他们不在同一个文件中,或者他们没有相互交谈。这就是为什么你没有得到任何数据。在onload函数之后的第二件事是,变量sthtml和ndhtml被设置为null,我认为这就是为什么您没有在图表中获取任何数据的原因。调查一下,再试一次,我想它会奏效的。我知道,如果正确地包含javascript代码,所有javascript代码都会自动包含到html中。
data: [
        {
            type: "column", //change type to bar, line, area, pie, etc
            dataPoints: [
                { x: 10, y: 71 },
                { x: 20, y: 55 },
                { x: 30, y: 50 },
                { x: 40, y: 65 },
                { x: 50, y: 95 },
                { x: 60, y: 68 },
                { x: 70, y: 28 },
                { x: 80, y: 34 },
                { x: 90, y: 14 }
            ]
        }
        ]