2017-07-05 5 views
0

したがって、バックエンドサービスがエンドポイントhttps://sample.herokuapp.com/のHerokuで実行されています。私は/bug/エンドポイントに次のようなJSONオブジェクトをPOSTしようとしています:Ionic 3 - HerokuエンドポイントへのPOSTデータ

{ 
    "email": "[email protected]", 
    "name": "Anthony", 
    "text": "Test Bug", 
    "picture": "Empty" 
} 

私はポストマン不眠症で、このデータをPOSTした場合、それは完璧に動作し、解析された情報をHTMLレスポンスを返します。私はイオン3に次のコードを使用して、このデータを、投稿するときしかし、

sendMail(type:string, text:string):void { 
      this.nativeStorage.getItem('sample').then((sample) => { 
        var data = new Object(); 
        data["name"] = sample.name 
        data["email"] = sample.email; 
        data["picture"] = sample.picture; 
        data["text"] = text; 

        this.db.object('/general/sample').take(1).subscribe((sample) => { 
         var xhr = new XMLHttpRequest(); 
         var endpoint = sample.address + sample.endpoints[type]; 

         xhr.addEventListener("readystatechange", function() { 
         if (this.readyState === 4) { 
          console.log("Got response: " + this.responseText); 
         } 
        }); 

         xhr.open("POST", endpoint); 
         xhr.setRequestHeader("Accept", "application/json"); 
        xhr.setRequestHeader("Content-Type", "application/json"); 
         console.log("sample sending: " + JSON.stringify(data, undefined, 2)); 
         console.log("sample endpoint: " + endpoint); 

        xhr.send(JSON.stringify(data)); 
        }) 
      }) 
    } 

私はHerokuの中で、次のエラーログを受け取った:私はこの問題について多くの研究を行っている

2017-07-05T17:02:24.707431+00:00 heroku[router]: at=info method=OPTIONS path="/bug" host=sample.herokuapp.com request_id=5e679c8e-cac7-4ff2-9277-dec80a250c11 fwd="150.108.242.198" dyno=web.1 connect=1ms service=3ms status=200 bytes=215 protocol=https 

これはCORSの問題だと私は信じています。しかし、私はAccess-Control-Allow-...ヘッダーを使ってこの問題を解決しようとしましたが、同じエラーが発生しています。

Cordova whitelistプラグインがインストールされており、index.htmlmetaタグが含まれています。

これはかなり複雑な問題ですので、私はすべての助けに感謝します!

+1

が不思議?私はヒロクと話すコードも持っているし、問題はない。私はHttpオブジェクトを注入するように私のコントローラをセットアップし、私のメソッドでは、残りの呼び出しを行うために使用します。 – getbuckts

+0

提案をありがとうが、私はHttpModuleを試して、私はまだHerokuで同じ問題を受けました。なぜこれがあるかもしれないかについての任意のアイデア? –

答えて

1

英雄側にはコルスが設定されていますか?

var app = express(); 
/* cors conig */ 
var corOptions = { 
    "origin": "*", 
    "methods": "GET,HEAD,PUT,PATCH,POST,DELETE", 
    "preflightContinue": true, 
    allowedHeaders: 'Content-Type,Authorization,X-Requested-With' 
} 
app.use(cors(corOptions)); 

私のCORS依存性: "CORS": "^ 2.8.1" の角度HTTPオブジェクトを使用しない理由

+0

それは私のためにそれをしました。本当にありがとう! –

関連する問題