2016-09-19 57 views
0

无法使用Asp.Net中的ajax jquery调用Web API控制器方法。无法使用Asp .Net中的ajax调用Web API控制器方法

$(document).ready(function() { 
    $.ajax({ 
     url: '/UnitsAPI/GetZones', 
     method: 'GET', 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     data: { "knownCategoryValues": 1, "category": Zone }, 
     success: function (response) { 
      // $('#lblData').html(JSON.stringify(response)); 
     }, 
     error: function (error) { 
      console.log(error); 
     } 
    }); 
}); 

我控制器

[HttpGet] 
public IHttpActionResult GetZones(string knownCategoryValues, string category) 
{ 
    SqlConnection sqlConn = new SqlConnection(); 
    DataSet ds = new DataSet(); 
    string strConn = GetConnectionInfo(); 
    sqlConn = new SqlConnection(strConn); 
    sqlConn.Open(); int stateID = 1; 
    NonCellUnit unit = new NonCellUnit(); 
    List<Unit> unitList = new List<Unit>(); 
    unitList = unit.GetChildUnits(stateID, true); return Ok(unitList); 
} 
+1

数据添加您的WebAPI方法 –

+0

会发生什么事,当你打开一个浏览器,网址是什么?我们需要更多关于实际发生的信息以帮助。 – Archer

+0

@Div由于使用了字控制器,我假设它是MVC,因此URL将成为控制器和操作。 – Archer

回答

0

添加属性路由控制器

[Route("api/UnitsAPI/GetZones")] 

和要求begening作为

$(document).ready(function() { 
    $.ajax({ 
     url: '/api/UnitsAPI/GetZones', 
     method: 'GET', 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     data: { "knownCategoryValues": 1, "category": Zone }, 
     success: function (response) { 
      // $('#lblData').html(JSON.stringify(response)); 
     }, 
     error: function (error) { 
      console.log(error); 
     } 
    }); 
}); 
+0

它不工作。 – bujjibabu

+0

然后尝试更新一个 – Mostafiz

0

在这里,您正在使用的WebAPI,所以你必须默认api在你的路线

所以,你可以尝试像url: 'api/UnitsAPI/GetZones'在你的Ajax调用和改变像

data: { "knownCategoryValues": "1", "category": Zone } 
+0

即使它不起作用。 – bujjibabu

+0

查看更新的答案 –

相关问题