使用Angular 2发布到IFTTT

时间:2017-03-21 15:30:33

标签: angular typescript webhooks ifttt

我正在尝试使用Angular 2使用IFTTT制造商webhook向https://maker.ifttt.com/trigger/event_name/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxx发送http POST。

正在收到请求,但正文已收到。

  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

作品

以前有没有人经历过这个?

2 个答案:

答案 0 :(得分:0)

我终于用

解决了这个问题
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()

答案 1 :(得分:0)

我认为它可以作为一个可观察的,或者一个@ .ajax请求更清晰。

data = new FormData().append();

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