现在我被困在一个问题上。我想这是一个非常基本的事情。但是经过几个小时的研究,如果有人能给我一个快速的建议,那就太好了。所以我试图从我的 api (C#) 调用我的 PUT 方法 [HttpPost] public String Post(String id) { return id; }当我按下按钮时会调用它。按钮功能是这样的:<script>function sendData() { $.ajax({ url: '/api/values', type: 'POST', data: {'id':"100014"}, dataType: 'json', contentType: 'application/json', });}如果我调用 GET 方法,一切正常。但是尝试调用 POST 方法只会返回 HTTP Post 不支持该资源。我用 Postman 测试了这个方法。这里 Post 方法有效。但是我不想将这些数据传递到 Url 而是从 Ajax 传递到数据。如果有人可以帮助我,那就太好了。编辑: 我只是尝试了一些东西。我的最终结果是这样的: [HttpPost] public async Task<IHttpActionResult> Post(int id) { var rawMessage = await Request.Content.ReadAsStringAsync(); return Ok(rawMessage); }对我来说效果很好。
3 回答
![?](http://img1.sycdn.imooc.com/54584d080001566902200220-100-100.jpg)
森栏
TA贡献1810条经验 获得超5个赞
问题是找不到您的路线。尝试
[HttpPost]
[Route("getValues")]
public String Post(String id)
{
return id;
}
您甚至可以在控制器类之前添加:
[RoutePrefix("api/values")]
然后用
url: '/api/values/getValues',
![?](http://img1.sycdn.imooc.com/5458453d0001cd0102200220-100-100.jpg)
月关宝盒
TA贡献1772条经验 获得超5个赞
请检查您是否引用了正确的库。
如果您正在使用,System.Web.Mvc
可能会出现此问题。尝试删除它并System.Web.Http
改为引用。
希望这能解决您的问题。
![?](http://img1.sycdn.imooc.com/545869390001b87802200220-100-100.jpg)
缥缈止盈
TA贡献2041条经验 获得超4个赞
你应该用Ok()method包装你的输出。就像是
使用您的退货类型作为 IHttpActionResult
[HttpPost]
public IHttpActionResult Post(String id)
{
return Ok(id);
}
- 3 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消