2017-04-11 56 views
0

我試圖從調用一個函數通過Ajax控制器:這裏jQuery的阿賈克斯網址MVC控制器

$.ajax({ 
    url: "@Url.Action("items_status", "Part_views_index")", 
    type: 'GET', 
    dataType: 'json', 
    error: function (xmlHttpRequest, errorText, thrownError) { 
       alert(xmlHttpRequest + "|" + errorText + "|" + thrownError); 
     }, 
    success: function (data) { 
      UpdateItemsData(data); 
     } 
}); 

但這返回404,是控制器部分:

public class Partviewsindex : Controller 
{ 
    // Controller for partial view 
    [HttpGet] 
    public JsonResult items_status() 
    { 
     var chart = new getItemsStatusChart(); 
     var chartData = chart.GetPieChart(); 
     return Json(chartData); 
    } 
} 

}

有什麼想法?

感謝

UPDATE:

我發現這個問題,我需要在控制器名的末尾添加控制器和URL現已形成像這樣在我的JavaScript文件:

$.ajax({ 
     url: '/Partviewsindex/items_status', 
     type: 'GET', 
     dataType: 'json', 
     error: function (xmlHttpRequest, errorText, thrownError) { 
      alert(xmlHttpRequest + "|" + errorText + "|" + thrownError); 
     }, 
     success: function (data) { 
      UpdateItemsData(data); 
     } 
    }); 

謝謝

+0

你爲什麼要加載一個局部視圖?我不知道你在做什麼 –

+0

我不知道我需要一個局部視圖,但問題似乎並不是局部視圖,我在調用ajax代碼時有404。謝謝 –

+0

您的控制器類最終確實需要「控制器」一詞。這是MVC如何連接的一部分。嘗試「PartviewsindexController」。 – nurdyguy

回答

0

喜歡這裏寫https://msdn.microsoft.com/en-us/library/dd410269(v=vs.100).aspx你需要將「控制器」這個詞作爲模型視圖控制器的標準,所以你的控制器名稱應該是PartviewsindexController

+0

我加在端部的控制器沒有更多的成功: GET HTTP://本地主機:58893/PartviewsindexController/items_status 404(未找到) 感謝 –

+0

你試圖重新創建爲與sufix正常視圖 –

0

請按F12,看看網絡標籤,看看女巫的URL你真的是金手指嗎?你發佈。

我想你了「」四捨五入你url:並且正在對這個URL的請求:http://.. "@Url.Action("items_status", "Part_views_index")"

儘量簡單地改變這一點,應該工作:

url: '../Partviewsindex/items_status' 
+0

在這兩種情況下,所形成的URL爲: HTTP://本地主機:58893/Partviewsindex/items_status無法加載資源:服務器響應狀態爲404(未找到) 我無法確定它的期望值。 –