2012-04-18 13 views
0

基本的に達成したいのは、私のWCFサービスから取得しているJSON文字列をKedo Dataviz Chartのデータとして使用することです。JSON結果をJavaScriptのデータとして使用する

私のサービスは100%稼働していますが、JSON文字列はうまくいきますが、JavaScriptでそれを消費することは私を驚かせるものです。

これは私がデータにグラフをバインドするために使用しているJavaScript関数の抜粋です...

      function createChart1() { 
          document.getElementById('example').style.visibility = "visible"; 
          document.getElementById('Machines').style.opacity = "0.2"; 
          $("#chart").kendoChart({ 
           theme: $(document).data("kendoSkin") || "black", 
           dataSource: { 
            transport: { 
             read: { 
              type: "GET", 
              contentType: "application/json; chartset=utf-8", 
              url: "http://localhost:8080/mesmobileservice/data", 
              dataType: "json" 
             } 
            },         

           title: { 
            text: "Machine 001" 
           }, 
           legend: { 
            position: "bottom" 
           }, 
           seriesDefaults: { 
            type: "column" 
           }, 
           series: [{ 
            field: "availability", 
            name: "Availability", 
            color: "#FFDC00" 
           }, { 
            field:"performance", 
            name: "Performance", 
            color: "#0047A3" 
           }, { 
            field:"quality", 
            name: "Quality", 
            color: "#C80000" 
           }, { 
            field:"oee", 
            name: "OEE", 
            color: "#00B400" 
           }], 
           valueAxis: { 
            labels: { 
             format: "{0}%" 
            } 
           }, 
           categoryAxis: { 
            categories: [] 
           }, 
           tooltip: { 
            visible: true, 
            format: "{0}%" 
           } 
          }); 
         } 

これは私がURLを貼り付けたときにWCFサービスによって生成されるJSONであります私のブラウザに...

[{"availability":58.2,"oee":58.3,"performance":69.2,"quality":36.3}] 

問題はグラフにデータをバインドしていないことです。グラフは単に空白として表示されます。

私のURLの最後に.jsonが必要ですか?

私はJSONを使い始めたので、愚かな質問は残念です。

+1

放火犯やChromeのデバッグパネルを開き、コードにブレークポイントを入れてみてください...私のWCFサービスインタフェースです。コードが破損している箇所が表示されるまでステップを実行します。また、javascriptのエラーウィンドウを確認しましたか? –

+1

"問題は、動作していないようです!"うーん、 "働かない"と定義する。その文章を書き直して空白を記入してください:「それはうまくいかないようです。私が見ている問題は_________です。」 – JAAulde

+0

JavaScriptを実行しているページも、http:// localhost:8080から配信されていますか?そうでない場合は、データの要求がクロスドメイン要求を行うとブラウザによってブロックされる可能性があります。 – steveukx

答えて

0

[OK]をクリックして問題が見つかりましたが、修正方法はわかりません。

私は405 Method not allowedエラーが発生しています。これはjsonpを使用する必要があることを意味しますか?

もしそうなら、これを実装するためにWCF Interface/urlを変更するにはどうすればよいですか?

私はすでに&callback=?をURLに追加しようとしましたが、まったく動作しませんでした。

はここ

[WebGet(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "data")] 
    public MES[] GetMESData() 
{ 
    return new[] { new MES(58.2, 69.2, 36.3, 58.3) }; 
} 
関連する問題