現在我被困在一個問題上。我想這是一個非?;镜氖虑椤5墙涍^幾個小時的研究,如果有人能給我一個快速的建議,那就太好了。所以我試圖從我的 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 回答

森欄
TA貢獻1810條經驗 獲得超5個贊
問題是找不到您的路線。嘗試
[HttpPost]
[Route("getValues")]
public String Post(String id)
{
return id;
}
您甚至可以在控制器類之前添加:
[RoutePrefix("api/values")]
然后用
url: '/api/values/getValues',

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
請檢查您是否引用了正確的庫。
如果您正在使用,System.Web.Mvc
可能會出現此問題。嘗試刪除它并System.Web.Http
改為引用。
希望這能解決您的問題。

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
你應該用Ok()method包裝你的輸出。就像是
使用您的退貨類型作為 IHttpActionResult
[HttpPost]
public IHttpActionResult Post(String id)
{
return Ok(id);
}
- 3 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消