亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP NET web api POST/DELETE(Angular 6 HttpClient-)

ASP NET web api POST/DELETE(Angular 6 HttpClient-)

C#
慕工程0101907 2022-06-19 16:36:34
我使用 Visual Studio 15 創建了一個應用程序,使用 ASP.NET Web api 作為后端,在前端使用 Angular 6。我只是想根據數據庫中的數據在前端顯示/添加/刪除用戶。我使用 Angular 6 中的 HttpClient 和 GET-Request 來顯示用戶數據工作正常。我嘗試以相同的方式實現 POST/DELETE 請求。這是來自 Angular 的調用:deleteUser(id: number): Observable<{}> {    const url = `${this.userURL}/${id}`;    return this.http.delete(url, { withCredentials: true })        .pipe(            catchError(this.handleError('deleteData'))        );}web API:我在 Global.asax.cs 中處理了預檢請求:void Application_PreSendRequestHeaders(Object sender, EventArgs e)    {        var origin = Request.Headers.Get("Origin");        var validOrigins = ConfigurationManager.AppSettings["allowedCorsOrigins"].Split(',');        if (validOrigins.Any(o => o == origin))        {            Response.StatusCode = (int)HttpStatusCode.OK;            Response.Headers.Set("Access-Control-Allow-Origin", origin);            Response.Headers.Set("Access-Control-Allow-Credentials", "true");            Response.Headers.Set("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, access-control-allow-credentials, access-control-allow-headers, access-control-allow-methods, access-control-allow-origin, ontent-type, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization"); // "Content-Type, Accept, Authorization, withcredentials, Prefer"            Response.Headers.Set("Access-Control-Expose-Headers", "Claims, *");            Response.Headers.Set("Access-Control-Allow-Methods", "GET,PUT,POST,OPTIONS,PATCH,DELETE");        }    }
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

[Route("api/User/{id}")]我只是通過在下面插入來解決我的問題[HttpDelete]。UserController.cs 中的刪除函數現在看起來像:


[HttpDelete]

[Route("api/User/{id}")]

[ResponseType(typeof(User))]

public async Task<IHttpActionResult> DeleteUser(decimal id)

{

    ...

}


查看完整回答
反對 回復 2022-06-19
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

我對此并不完全確定,但您可以嘗試將您的函數簽名更改為DeleteUser(int id)(老實說,十進制 id 參數看起來很煩人:))并檢查您的配置文件路由模板(routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional })是否與您的參數名稱匹配(在這種情況下為 id) . 希望這能解決您的問題。



查看完整回答
反對 回復 2022-06-19
  • 2 回答
  • 0 關注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號