POST 到 IFTTT 使用 Angular 2

POST to IFTTT using Angular 2

我正在尝试使用 Angular 2.

使用 IFTTT maker webhook 将 http POST 发送到 https://maker.ifttt.com/trigger/event_name/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxx

正在接收请求,但未收到正文。

  post(): Promise<string> {
let headers = new Headers({ 'Content-Type': 'application/json'});
let options = new RequestOptions({ headers: headers });
console.log(options)
let body = { "value1": "21223232"};
console.log(body)
return this.http.post(this.webhookUrl, body, options)
         .toPromise()
         .then(this.extractData)
         .catch(this.handleError);

应该有 value1: 21223232 并且可以用 {{Value1}} 打印,但我运气不好。

另外值得注意的是:

curl -X POST -H "Content-Type: application/json" -d '{"value1":"21223232"}' https://maker.ifttt.com/trigger/event_name/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxx

有效

有没有人遇到过这种情况?

我终于用

解决了这个问题
let headers = new Headers({ 'Content-Type': 'application/json' });
let body = new FormData();
body.append('value1', "21223232");
return this.http.post(this.webhookUrl,body,headers)
         .toPromise()
         .then(this.extractData)
         .catch(this.handleError);

这是使用 Ionic 2 FormData()

我认为它作为可观察的和/或@.ajax 请求会更清晰。

data = new FormData().append();

$.ajax(
                {
                    'url' : targetUrl,
                    'crossDomain': true,
                    'type': 'POST',
                    'data': data
                }
            ).done(function (rsp) {
                //..code
            }).fail(function (rsp) {
                Error();
            });