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

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

如何在Angular 5的標頭中添加CORS請求

如何在Angular 5的標頭中添加CORS請求

呼如林 2019-11-27 14:27:55
我已經在標題中添加了CORS,但是我的請求中仍然出現CORS問題。在標頭中添加和處理CORS和其他請求的正確方法是什么?這是服務文件代碼:import { HttpClient, HttpHeaders, HttpClientModule } from '@angular/common/http';const httpOptions = {  headers: new HttpHeaders({     'Access-Control-Allow-Origin':'*',    'Authorization':'authkey',    'userid':'1'  })};public baseurl = 'http://localhost/XXXXXX';userAPI(data): Observable<any> {  return this.http.post(this.baseurl, data, httpOptions)    .pipe(      tap((result) => console.log('result-->',result)),      catchError(this.handleError('error', []))    );}錯誤:對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在“ Access-Control-Allow-Origin”標頭。因此,不允許訪問源“ http:// localhost:4200 ”失?。海ㄎ粗W址)的Http錯誤響應:0未知錯誤在服務器端代碼中,我已在索引文件中添加了CORS。header('Access-Control-Allow-Origin: *');header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
查看完整描述

3 回答

?
拉風的咖菲貓

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

以我的經驗,這些插件適用于HTTP,但不適用于最新的httpClient。另外,在服務器上配置CORS響應標頭并不是真正的選擇。因此,我創建了一個proxy.conf.json文件來充當代理服務器。


在此處閱讀有關此內容的更多信息。


proxy.conf.json 文件:


{

  "/posts": {

    "target": "https://example.com",

    "secure": true,

    "pathRewrite": {

    "^/posts": ""

  },

    "changeOrigin": true

  }

}

我將proxy.conf.json文件放置package.json在同一目錄中的文件旁邊。


然后,我在package.json文件中修改了start命令:


"start": "ng serve --proxy-config proxy.conf.json"

來自我的應用程序組件的HTTP調用:


return this._http.get('/posts/pictures?method=GetPictures')

.subscribe((returnedStuff) => {

  console.log(returnedStuff);

});

最后,要運行我的應用,我必須使用npm start或ng serve --proxy-config proxy.conf.json


查看完整回答
反對 回復 2019-11-27
?
精慕HU

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

使NG5中HttpClient的標頭看起來像這樣:


let httpOptions = {

      headers: new HttpHeaders({

        'Content-Type': 'application/json',

        'apikey': this.apikey,

        'appkey': this.appkey,

      }),

      params: new HttpParams().set('program_id', this.program_id)

    };

您將可以使用您的本地主機url進行api調用,它對我有用..


請永遠不要忘記標題中列出的參數:例如params:new HttpParams()。set('program_id',this.program_id)


查看完整回答
反對 回復 2019-11-27
  • 3 回答
  • 0 關注
  • 881 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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