Ionic2 MailChimp API.Angular2不发布任何内容



,所以我目前正在使用带有ionic2的移动应用程序,我必须使用MailChimp进行订阅。我编写一个处理API并将其上传到服务器上的PHP文件。我在其中编写的静态电子邮件可以很好地工作,因此它实际上可以正常工作。完成之后,我开始在Angular2/ionic2中处理帖子数据。但是我得到

SyntaxError:在位置0

的JSON中出乎意料的令牌A

错误。

在此代码中,整个事情都是失败的:

createPost(post: {email: string}): Observable<any>{
    const email = JSON.stringify(post);
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    return this.http.post('http://localhost:8100/api', email, {
        headers: headers
    }).map(res => {console.log(res.json())});
  }

我弄清楚问题是URL,但我不知道为什么。当我在URL中使用http://jsonplaceholder.typicode.com/posts时。

我的php代码看起来像这样(我使用mailchimnp.php包装器):

<?php // for MailChimp API v3.0
include('MailChimp.php');  // path to API wrapper downloaded from GitHub
use DrewMMailChimpMailChimp;
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$MailChimp = new MailChimp('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-usXX');
$list_id = 'xxxxxxxxxx';
$result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $email,
                'status'        => 'subscribed',
            ]);
print_r($result);
if ($MailChimp->success()) {
    print_r($result); 
} else {
    echo $MailChimp->getLastError();
}

您的地图功能需要返回数据。您必须解决此问题:

createPost(post: {email: string}): Observable<any>{
   const email = JSON.stringify(post);
   let headers = new Headers();
   headers.append('Content-Type', 'application/json');
   return this.http.post('http://localhost:8100/api', email, {
      headers: headers
   }).map(res => {
      console.log(res.json())
      return res.json(); //add this line
   });
}

相关内容

  • 没有找到相关文章

最新更新