2017-09-28 8 views
0

私はalamofireを使用して、クラウド機能/ Node.jsのをGoogleに迅速内からのHTTPリクエストを持っている:Alamofireでサーバに渡すパラメータが未定義なのはなぜですか?

Alamofire.request(url, method: .post, parameters: [ 
      "api_version": apiVersion, 
      ]) 

私はプリントアウトするので、私は、要求がサーバを打つと、サーバー上の機能を実行している知っています私がその機能にいるというメッセージを記録する。

クライアントのapiVersionには、ストライプAPIバージョンのデータが含まれていることも知っています。

しかし、この機能では、サーバー上:

exports.ephemeral_keys = functions.https.onRequest((req, res) => { 

console.log("activated ephemeral keys") // prints to the console 

const stripe_version = req.query.api_version //is undefined 

にconsole.log(stripe_version)が未定義ログインしています。

アイデア?

******更新*********

私はこの記事を見ていたし、私はそこにエンコーディングの問題があるが、アドバイスは甘いだろうと思います。

How to add Alamofire URL parameters

感謝。

+0

私が正しく見ると、POST本体にパラメータを送信していますが、クエリパラメータが必要です。 – jonaszmclaren

+0

Alamofireの 'request'関数には、あなたが提供したリンクに記載されているように、エンコードパラメータを追加しようとします。 – jonaszmclaren

+0

req.body.api_versionへのノードのサーバー上のreq.query.api_version行を変更するという答えが見つかりました。しかし、Thx。 – Mike

答えて

1

これは機能しますか?

Alamofire.request(url, 
        method: .post, 
        parameters: ["api_version": apiVersion], 
        encoding: URLEncoding(destination: .queryString)) 
関連する問題