2016-10-28 16 views
-1

です:何かが、私は以下のAJAX呼び出しを持っている間違った充填配列

$.ajax({ 
    type: 'POST', 
    url: '../ws_BQS.asmx/ResultadosDimensionalByDate', 
    data: '{"fecha":"' + fecha + '"}', 
    dataType: 'json', 
    contentType: 'application/json', 
    timeout: 600000, 
    error: function (xhr) { 

    }, 
    success: function (data) { 
     var t = data.d; 
     var split; 
     var datos = t.split(","); 

     //Thickness 
     for (var i = 0; i < datos.length; i++) { 
      array1.push(datos[i]); 
      i++; 
      i++; 
      i++; 
      //alert(array1); 
     } 
     //Width 
     for (var w = 0; w < datos.length; w++) { 
      w++; 
      //array2.push(datos[w]); 
      w++; 
      w++; 
     } 
     alert(array1); 

     chart(array1); 
    } 
}); 

警告メッセージは、それは私が期待するものだが、問題は私のチャート機能があるということである(1,5,9,14,18)であります

function chart(arreglo) { 


$('#Grafica').highcharts({ 
    chart: { 
     type: 'bar' 
    }, 
    title: { 
     text: 'Inspeccion Dimensional' 
    }, 
    xAxis: { 
     categories: ['Pieza 1', 'Pieza 2', 'Pieza 3', 'Pieza 4', 'Pieza 5'] 
    }, 
    yAxis: { 
     min: 0, 
     title: { 
      text: 'Resultados' 
     } 
    }, 
    legend: { 
     reversed: true 
    }, 
    plotOptions: { 
     series: { 
      stacking: 'normal' 
     } 
    }, 
    series: [{ 
     name: 'Thickness', 
     data: arreglo 
    }, { 
     name: 'Width', 
     data: [2, 2, 3, 2, 1] 
    }, { 
     name: 'Length', 
     data: [2, 2, 3, 2, 1] 
    }, { 
     name: 'Diameter', 
     data: [3, 4, 4, 2, 5] 
    }] 
}); 

alert(arreglo); 
} 

私の警告メッセージがそれは大丈夫ですので、私のAJAX呼び出しから同じである私はseriesオプションで私のVAR arregloを使用する場合、私はすべてのエラーを取得いけない、問題はされています。私が欲しいものをやっていない、ここにコードがありますメッセージは、ちょうどそれがarreglo it's emptyのように見える、私はこれを解決しようとしていると私は見つけた私がarray1.push(values manually)を実行すれば、それはどのように私がこれを解決することができますので、array1.push(datos[i]);から問題になる可能性がありますか?

ここでUPDATE

は私の問題を見てFiddleです。

UPDATE#2

これらは私が私のデータを取得する方法があります。これにより

data: console.log = 1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21 

var datos = t.split(","); 
console.log(datos) = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21"] 

for loop 
console.log(array1) = ["1", "5", "9", "14", "18"] 

chart function 
console.log(arreglo) = ["1", "5", "9", "14", "18"] 

私はそれが「」でデータを受信間違っていることがわかりますので、どのように私はこれを変更することができます?

+3

、あなたの代わりに私は '3 IMES'定義さarray1'だ – Rajesh

+1

++を '有するので3'私は+ ='行うことができますか? – Utkanos

+0

@Rajeshそうですよ!私は追加しなければならない数字の数をテストしていました。 –

答えて

2

あなたの配列には数字が含まれていなければなりません。代わりに文字列が含まれているため、シリーズにはデータがないように見えます。

文字列を数値に解析すると、期待どおりに動作します。

data: arreglo.map(function (value) { 
    return Number(value); 
    }) 

例:ちょうどFYI https://jsfiddle.net/nvf6vcn5/4/

+0

テスト済みです!あなたは私の人生hahaのおかげで救う! –

関連する問題