簡體   English   中英

如何在Angular2中發布而不設置內容類型(或如何發布到Zapier Webhook)

[英]How to POST in Angular2 without setting content-type (or how to post to Zapier Webhook)

我正在嘗試過帳到zapier webhook。 我可以在Postman中做到這一點。

但是,當嘗試從Angular 2中執行相同操作時,我從Zapier返回了以下錯誤。

飛行前響應中Access-Control-Allow-Headers不允許請求標頭字段Content-Type

他們的文檔說不要設置Content-Type標頭,但是我還沒有弄清楚如何在沒有它的情況下發送請求。 https://zapier.com/help/common-problems-webhooks/

我最近的嘗試如下。

let body = { email: 'an@email.com', name :'Mr Test'};
let bodyString = JSON.stringify(body); // Stringify payload
let headers    = new Headers({ 'Content-Type': undefined }); 
let options    = new RequestOptions({ headers: headers }); // Create a request option

let request = this.http.post(`https://hooks.zapier.com/hooks/catch`, body, options) 
                 .map((res:Response) => res.json()) 
                 .catch((error:any) => Observable.throw(error.json().error || 'Server error'));

                 request.subscribe((resp) => {
                     console.log(resp);
                 });

我也嘗試過

 let headers = new Headers();

 let options = new RequestOptions();

角2.2.0

您是否嘗試過將application/x-www-form-urlencoded內容類型設置為Headers

let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let options = new RequestOptions({ headers: headers });

嘿,您可以嘗試將憑據設置為true,它可以處理跨站點訪問控制請求

 let headers = new Headers();
 headers.append('Content-Type', 'application/x-www-form-urlencoded');
 let options = new RequestOptions({ headers: headers, withCredentials: true });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM