我的 Controller 中有 AddCategory()方法:
[RoutePrefix("api")]
public class CategoryController : ApiController
{
....
[Route("addCategory")]
[HttpPost]
public void AddCategory(string category)
{
var getCat = category;
}
在我的 Home.html 我有按钮保存新类别我为它写了$ http.post方法:
var testString = "TEST String";
var req = {
method: 'POST',
url: '/api/addCategory',
data: testString,
};
$http(req).then(function successCallback(response) {
console.log("Success");
}, function errorCallback(response) {
console.log("Eror");
});
但我有下一个错误:
angular.js:11442 POST http://localhost:6059/api/addCategory 404(不是 实测值)
可能很重要,但我在 WebApiConfig.cs 中禁用 XML :
var json = GlobalConfiguration.Configuration.Formatters;
json.JsonFormatter.UseDataContractJsonSerializer = true;
json.Remove(json.XmlFormatter);
可能有人知道我怎么能改变它?谢谢你的回答!
答案 0 :(得分:2)
你的方法Post需要返回IHttpActionResult。或者你的请求http总是返回代码404。
试试这个:
[RoutePrefix("api")]
public class CategoryController : ApiController
{
....
[Route("addCategory")]
[HttpPost]
public IHttpActionResult AddCategory(string category)
{
var getCat = category;
if(getCat != null)
return Ok();
return NotFound();
}
我建议你在C#中用$ resource angular使用Api Rest。在我看来,这是最好的模式。
答案 1 :(得分:0)