Okey, поэтому у меня небольшая проблема с ответом MailChimp. Итак, вот что.
Я хочу проверить статус подписчика. У меня есть PHP-код, который работает отлично, и у меня есть код, который также отлично работает, поэтому я получаю ответ, но я не могу использовать ответ после него. Итак, вот коды:
У меня есть поставщик MailService, который содержит эту функцию:
postCheck(post: {email: string}): Observable<any>{ const email = JSON.stringify(post); let headers = new Headers(); headers.append('Content-Type', 'application/x-www-urlencoded'); return this.http.post('http://localhost:8100/getapi', email, { headers: headers }).map(res => { console.log(res.json()) return res.json(); //add this line }); }
На главной странице у меня есть эта функция:
sendCheck(email: string){ this.mailservice.postCheck({email: email}) .subscribe( response => this.response = response.status, error => console.log(error) ); }
На главной странице html, когда я вызываю <p>{{ response }}</p>
выписывает «ожидающий» или «подписанный». Но после этого, когда я пытаюсь console.log(this.response);
он ничего не выписывает в коде, который я действительно не могу проверить.
Из того, что я могу собрать, вы хотите что-то сделать с ответом после того, как данные прибыли. Это нужно сделать внутри подписки, чтобы обеспечить доступность данных. Так что-то вроде этого:
sendCheck(email: string){ this.mailservice.postCheck({email: email}) .subscribe(response => { this.response = response.status; // here the value has been set to response, so do what you want this.doSomethingWithResponse(); )}; } doSomethingWithResponse() { if(this.response == 'subscribed') { // do stuff } }