2017-04-11 55 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(未找到) 我无法确定它的期望值。 –