AngularJs: $ http.Post总是返回404错误
AngularJs: $http.post always return 404 error
我目前正在尝试开发一个简单的angular js应用程序。我试图从客户端到web api发布数据。然而,当我从angular应用程序中触发post请求时,我得到404错误。
下面是我的帖子请求,
$http.post('/api/LoadApi/', jsonData).then(function (result) {
console.log(result.data);
})
.catch(function (error) {
});
其中jsonData是一个有效的json数据。
我的web api代码是这样的
public class LoadApiController : ApiController
{
[HttpPost]
public HttpResponseMessage LoadData(object dataToLoad)
{
var response = Request.CreateResponse(HttpStatusCode.Created);
return response;
}
}
我的web api路由配置是这样的,
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{dataToLoad}"
);
然而,当我运行代码时,它抛出了一个错误
'/'应用程序服务器错误。找不到资源。描述:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下网址,并确保拼写正确。请求的URL:/api/LoadApi/
谁能指出上面代码的问题是什么?
显示url有问题。生成的url是http://localhost:14154/api/LoadApi/,看起来是正确的。
问题在于您的路由定义以及您如何尝试将数据发送到控制器方法。我建议使用基于属性的路由。在你的Web API控制器中这样做:
[RoutePrefix("api/LoadApi")]
public class LoadApiController : ApiController
{
[HttpPost]
[Route("loadData")]
public HttpResponseMessage LoadData(object dataToLoad)
{
var response = Request.CreateResponse(HttpStatusCode.Created);
return response;
}
}
将Global.asax.cs
中的Application_Start()
方法修改为:
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
确保WebApiConfig.cs
在App_Start
中有这样的Register()
方法:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}
最后将$http.post
调用更改为:
$http.post('/api/LoadApi/loadData', jsonData).then([...]);
相关文章:
- CKFinder 3为所选文件返回错误的URL
- WebView返回错误的window.innerHeight
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- DreamFactory REST API POST休息/用户/会话请求总是在IE9中返回错误
- sqlite查询返回错误-can'我不知道为什么
- Javascript返回错误的Date值(NodeJS)
- javascript getDate getMonth返回错误的月份
- 函数返回错误'令牌{'
- 为什么我在Cloud9中的http请求总是返回错误
- 当jQuery返回错误时,如何在jQuery中重新发送ajax请求
- ontouchend-ios返回错误的坐标
- node.js mongojs findOne回调返回错误为null
- jQuery Ajax+经典ASP返回错误'意外的输入结束'
- 如果URL's链接返回错误
- 时刻.js时区值返回错误的时间戳
- 简单的jquery不起作用,并返回错误
- 在回调返回错误中带有点的 JSONP
- 在页面发布到服务器并返回错误后保留 javascript 更改
- web2py服务器返回错误,但已提交查询
- Javascript错误-左移位返回错误的输出