2017-08-02 47 views
1

我的操作方法是,在視圖部分我使用JSON來從其他行動的數據在我的控制器, 它去當我直接調用它的成功方法, (放routConfig行動eqaul這個動作)當我從其他操作或視圖調用Json時,Json會出錯,但直接運行時它會成功嗎?

但是當我從鏈接調用行動它會出錯, 我不知道爲什麼?!

控制器:

[HttpGet] 
    public ActionResult PieRenderer() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public JsonResult GetPieRenderer() 
    { 
     var DbResult = from d in db.Rep_TaskTypeQueuChart(0, 1) 
         select new 
         { 
          d.TaskTypeName, 
          d.WorkCount 
         }; 
     //return Json(DbResult, JsonRequestBehavior.AllowGet); 
     return Json(DbResult); 
    } 

視圖:

<!-- CSS --> 
<link href="~/Scripts/jqPlot/jquery.jqplot.min.css" rel="stylesheet" /> 
<!-- Scripts JS --> 

<script src="~/Scripts/jquery-3.1.1.min.js"></script> 
<script src="~/Scripts/jqPlot/jquery.jqplot.min.js"></script> 
<script src="~/Scripts/jqPlot/plugins/jqplot.pieRenderer.js"></script> 

<script> 
     $.jqplot('chartdiv', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]); 

     $(document).ready(function() { 

      // $.jqplot('chartdiv3', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]);    
      //$.ajax(alert('Hiiiiiiiii'));    //alert('111') 
      $.ajax({ 
       type: "POST", 
       url: "Cartable/GetPieRenderer", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: OnSuccess, 
       error: OnError 
      }); 

      function OnSuccess(response) { 

       var aData = response; 
       var dataArray = []; 

       $.each(aData, function (i, item) { 
        dataArray.push([item.TaskTypeName, item.WorkCount]); 
        alert(item.TaskTypeName); 
       }); 



       var plot1 = jQuery.jqplot('chartdiv3', [dataArray], 
        { 
         seriesDefaults: { 
          // Make this a pie chart. 
          renderer: jQuery.jqplot.PieRenderer, 
          rendererOptions: { 
           sliceMargin: 4, 
           // Put data labels on the pie slices. 

           showDataLabels: true 
          } 
         }, 
         legend: { show: true, location: 'e' } 
        } 
       ); 

      } 
      function OnError(response) { 
       alert("Error !"); 
       alert(response.toString()); 
      } 


     }); 

    </script> 
</div> 

如果我更改RoutConfig action =「PieRenderer」,它會顯示結果。 但如果我經營的主要儀表板視圖,並有我有一個actinlink或A HREF到PieRenderer方法,它轉到錯誤方法()...

回答

0

我找到了答案,這個問題,因爲這部分的: 網址: 「Cartable/GetPieRenderer」

它應該是這樣的變化: URL: 「/ Cartable/GetPieRenderer」,

相關問題