use*_*709 2 ajax asp.net-mvc asp.net-web-api
我有这个功能
[System.Web.Http.HttpGet]
[System.Web.Http.ActionName("StartProcess")]
public object StartProcess(string items)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
试着打电话
$.ajax({
url: '/api/Details/StartProcess',
type: 'get',
contentType: 'application/json',
data: items,
success: function() {
logger.log('Successful', "", "", true);
},
error: function(error) {
var jsonValue = jQuery.parseJSON(error.responseText);
});
Run Code Online (Sandbox Code Playgroud)
继续得到404错误.我的其余调用工作,但这是我需要发送参数的第一个.
items只是逗号分隔的字符串.
这是我的路线信息.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id=Urlameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
我缺少什么想法?
您收到404错误,因为您的路由表无法解析网址"/ api/Details/StartProcess"
为了使WebAPI路由工作,您需要修改路由集合的"MapHttpRoute()"函数而不是"MapRoute()"
所以请更改下面的API路由(假设您使用的是默认api),它应该可以正常工作.
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7978 次 |
| 最近记录: |