为什么调用webapi post方法会抛出错误:找不到控制器?

时间:2017-09-06 11:35:41

标签: jquery ajax post c#-4.0 asp.net-web-api

我已经在其中构建了一个带有webapi的简单asp.net项目。我还有一个html页面,它向webApi发送POST请求,但它不能。它抛出错误

未找到与名为'api'的控制器匹配的类型。

代码:

的WebAPI:

namespace HimHer.Controllers
{
    public class ImagesController : ApiController
    {
        basicoperations bo = new basicoperations();

        public string Post([FromBody]Images imgs)
        {

            bo.Image = imgs.Image;
            bo.Story = imgs.Story;

            bool result = bo.insertImages(bo);

            return result == true ? "Success" : "Failed";
        }
    }

    public class Images
    {
        public int ID  {get; set;}
        public string Image { get; set; }
        public string Story { get; set; }
    }
}

Ajax代码:

function save()
{
  var images = {
      Image: imgUploader.value,
      Story: txtStory.value
  };

  var JsonImages = JSON.stringify(images);

  $.ajax
  ({
      url: '/api/Images',
      type: 'POST',
      contentType: "application/json; charset= utf-8",
      data: JsonImages,
      dataType: 'json',
      success: function (results) {
          alert(results);
          $('#myModal').modal('hide');
      }
  });
}

ImagesController 存在于Controllers文件夹中。

1 个答案:

答案 0 :(得分:0)

尝试使用api/Images(不带前导/),看看这是否有助于实际路径。然后在您的网络标签中查看为请求生成的完整网址是否与您的API正确匹配。