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

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

如何修復 Angular/.NET 項目中的“跨源請求被阻止:同源策略不允許讀取遠程資源”

如何修復 Angular/.NET 項目中的“跨源請求被阻止:同源策略不允許讀取遠程資源”

C#
牛魔王的故事 2022-11-21 21:18:40
當我向我們的 API 端點提交 HTTP GET 請求時,我收到錯誤消息,指出缺少 CORS 標頭“Access-Control-Allow-Origin”。我們有一個連接到帶有 Angular 7 前端的 .NET API 的 SQL Server 數據庫。這是提交請求的 Angular 服務public VALUES_API_ENDPOINT = 'http://localhost:53273/api/search';  constructor(private httpClient: HttpClient) { }  async queryResults(terms: string): Promise<any> {    try {      const result = await this.httpClient.get(this.VALUES_API_ENDPOINT + '/title/' + terms).toPromise();      return result;    } catch (error) {        await this.handleError(error);    }  }后端控制器調用如下所示:[HttpGet][Route("title")]public HttpResponseMessage SearchByTitle(string s){   HttpResponseMessage response;   try   {       List<Regulation> results = search.SearchRegulationByTitle(s);       string json = CondensedRegulationsToJson(results);       response = Request.CreateResponse(HttpStatusCode.OK);       response.Content = new StringContent(json, Encoding.UTF8, "application/json");   }   catch (Exception)   {       response = Request.CreateResponse(HttpStatusCode.InternalServerError);   }   return response;}我們的 API 配置如下所示:public static void Register(HttpConfiguration config){   // Web API configuration and services   // Web API routes   config.MapHttpAttributeRoutes();   config.Routes.MapHttpRoute(         name: "DefaultApi",         routeTemplate: "api/{controller}/{id}",         defaults: new { id = RouteParameter.Optional }   );   // Enable CORS for the Angular App   // NOTE: Since we are running both the frontend and the backend locally, we can trust this origin with all headers and methods (the *). In practice, we would only allow really needed headers and methods    config.EnableCors(new EnableCorsAttribute("http://localhost:4200", "*", "*", "*"));  // Make JSON the default formatter over XML  config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();            config.Formatters.Remove(config.Formatters.XmlFormatter);}我們應該從數據庫接收數據,但我們只是根據 CORS 屬性被拒絕訪問。
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

您的 api 網址不正確:

您還有其他/new/導致 404 錯誤的原因。從 api url中取出/new,問題應該得到解決。

 const result = await this.httpClient.get(this.VALUES_API_ENDPOINT + '/title/' + terms).toPromise();



查看完整回答
反對 回復 2022-11-21
  • 1 回答
  • 0 關注
  • 106 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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