none
Format a Microsoft JSON date? RRS feed

  • Pergunta

  • Onde postar a minha dúvida? Como converter da data (data_semanal)? O que há de errado no código abaixo?

    Retorna o erro: Type mismatch. Value /Date(1409626800000)/ does not match type date in column index 0

    Controller:

    public ActionResult EvolucaoPeso()
            {

        var dia = db.spPesoEvolucao().ToArray();
                var a = dia.Select(x => new { x.data_semanal, x.peso_kg });
                return Json(a, JsonRequestBehavior.AllowGet);
            }


    Index:

    <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <!-- Script--> <script type="text/javascript"> google.load('visualization', '1', { 'packages': ['corechart'] }); google.setOnLoadCallback(drawChart); function drawChart() { $.get('/Avaliacao/EvolucaoPeso', {}, function (data) { var tdata = new google.visualization.DataTable(); tdata.addColumn('date', 'data_semanal'); tdata.addColumn('number', 'peso_kg'); for (var i = 0; i < data.length; i++) { if (data[i].data_semanal != null) tdata.addRow([data[i].data_semanal, data[i].peso_kg]); } var options = { vAxis: { title: "PESO", minValue: 1 }, hAxis: { title: "DATA", textStyle: { fontSize: 10 } }, legend: { position: "none" }, async: true }; function ToJavaScriptDate(value) { var pattern = /Date\(([^)]+)\)/; var results = pattern.exec(value); var dt = new Date(parseFloat(results[1])); return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear(); } console.log(data); var chart = new google.visualization.LineChart(document.getElementById('EvolucaoPeso')); chart.draw(tdata, options); }); } </script>

    Tentando evoluir, mas sem sucesso:

    Retorna o erro:

    "Uncaught Error: Type mismatch. Value 3/8/2014 does not match type date in column index 0"

     

    <script>
        function ToJavaScriptDate(value)
       {
        var pattern = /Date\(([^)]+)\)/;
        var results = pattern.exec(value);
        var dt = new Date(parseFloat(results[1]));
        return (dt.getDate() + 1) + "/" + dt.getMonth() + "/" + dt.getFullYear();
        }
           
    </script>
    <!-- Script-->
     
    <script type="text/javascript">
        google.load('visualization', '1.1', { 'packages': ['corechart'] });
        google.setOnLoadCallback(drawChart);
       
        function drawChart() {
            $.get('/Programa_Nutricao/Avaliacao/EvolucaoPeso', {},
                  function (data) {                 
                      var tdata = new google.visualization.DataTable();         
                      tdata.addColumn('date', 'data_semanal');
                      tdata.addColumn('number', 'peso_kg');                 
                      for (var i = 0; i < data.length; i++) {                    
                          if (data[i].data_semanal != null)                          
                              tdata.addRow([ToJavaScriptDate(data[i].data_semanal), data[i].peso_kg]);
                      }      
                   
                      var options = {                   
                          vAxis: { title: "PESO", minValue: 1 },
                          hAxis: { title: "DATA", textStyle: { fontSize: 10 }},
                          legend: { none" }                     
                      };              
                      var chart = new google.visualization.LineChart(document.getElementById('EvolucaoPeso'));
                      chart.draw(tdata, options);
                  });
              }
    </script>


    • Editado Wilson Boris quarta-feira, 11 de março de 2015 14:24 complemento
    terça-feira, 10 de março de 2015 21:50