我是否错误地在我的JSON响应中将php传递给了javascript?

时间:2014-04-01 18:47:48

标签: javascript json

我认为我已经错误地将我的JSON响应中的php传递给javascript,因为它不起作用。我的代码如下,请有人提供一些指导吗?

我的PHP:

function myajax_inputtitleSubmit_func() {

    $numwelds = isset($_POST['numberofwelds']) ? $_POST['numberofwelds'] : '';
    $numconwelds = isset($_POST['numberofconwelds']) ? $_POST['numberofconwelds'] : '';
    $fortot2 = 5;
    $fortot3 = 2;

    if (is_numeric($numwelds) && is_numeric($numconwelds))
    {
        $total['tot1'] = $numwelds + $numconwelds + $mpcountrys ;
        $total['tot2'] = $numwelds + $numconwelds + $fortot2 ;
        $total['tot3'] = ($numwelds + $numconwelds) + $fortot2 / $fortot3; 
        $response = json_encode($total);
        header("Content-Type: application/json");  
        echo $response;
        exit;
    } 
    }

我的JS:

var json= JSON.parse( )

var dataPoints = [];
for(key in json){
    dataPoints.push({label: key, y: json[key]});
}

var chart = new CanvasJS.Chart("chartContainer",
    {

      data: [
      {
        type: "column",
        dataPoints: dataPoints
      }
      ]
    });

 chart.render();

JSON的结构是:

{"tot1":5,"tot2":10,"tot3":7}

1 个答案:

答案 0 :(得分:2)

现在按预期工作吗? PHP在JSFiddle中不起作用,所以我将response硬编码到函数本身以进行测试。

http://jsfiddle.net/McB7c/

修改

你的问题实际上是关于你的PHP,因为你的JavaScript运行得很好。您应该重新考虑将JSON response传递给JavaScript的方式,因为您不能像我认为的那样混合PHP和JavaScript变量。