jquery 调用 c# api 控制器
jquery call to c# api controller
我已经开始了一些基于 ASP:NET MVC 和 javaScript/jquery 的项目。我正在尝试使用 $.ajax 函数对我的控制器进行 api 调用。但我总是得到 404。我用谷歌搜索并尝试了很多不同的解决方案,但我还是得到了 404。我知道这个问题在网上经常被问到,但再次希望不会有很多 -1。我将不胜感激,也许我因为森林而看不到树。
参数 "datas" 只是 JSON 格式的字符串。
我的代码如下。
javascript 通话:
function checkValidId(datas) {
$.ajax({
url: 'api/UserInfo/Test/',
type: 'POST',
data: JSON.stringify(datas),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (valid) {
if (valid) {
console.log("HURAAAAY!!!");
} else {
console.log("OOOH NO YOU DON'T !!!");
}
}
});
}
我的控制器:
public class UserInfoController : ApiController
{
private DM_DBEntities1 db = new DM_DBEntities1();
[HttpPost]
public static string Test(string data)
{
return "H E L L L L O";
}
}
我的 WebApiConfig:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
你配置的路由有误
改为:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
UserInfoController 中的 Test 方法不需要 return ActionResult,无论您是否 return 将某些东西识别为操作方法?
我已经开始了一些基于 ASP:NET MVC 和 javaScript/jquery 的项目。我正在尝试使用 $.ajax 函数对我的控制器进行 api 调用。但我总是得到 404。我用谷歌搜索并尝试了很多不同的解决方案,但我还是得到了 404。我知道这个问题在网上经常被问到,但再次希望不会有很多 -1。我将不胜感激,也许我因为森林而看不到树。 参数 "datas" 只是 JSON 格式的字符串。
我的代码如下。
javascript 通话:
function checkValidId(datas) {
$.ajax({
url: 'api/UserInfo/Test/',
type: 'POST',
data: JSON.stringify(datas),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (valid) {
if (valid) {
console.log("HURAAAAY!!!");
} else {
console.log("OOOH NO YOU DON'T !!!");
}
}
});
}
我的控制器:
public class UserInfoController : ApiController
{
private DM_DBEntities1 db = new DM_DBEntities1();
[HttpPost]
public static string Test(string data)
{
return "H E L L L L O";
}
}
我的 WebApiConfig:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
你配置的路由有误
改为:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
UserInfoController 中的 Test 方法不需要 return ActionResult,无论您是否 return 将某些东西识别为操作方法?