2016-09-08 2 views
1

私は、Angular/Javascriptで書かれたフロントエンドクライアントと、Python/Djangoで書かれたバックエンドサーバで構成されたWebアプリケーションを持っています。

クライアントからサーバーへの単純なhttp GET要求を実行しようとしていますが、動作していません。なぜなら、何らかの未知の理由により、パラメータが正しく渡されていないからです。私はこのコードを実行すると、私は期待し

class GetProfileAPI(views.APIView): 
    def get(self, request, *args, **kwargs): 
     logger.info("request.get_full_path() = %s" % request.get_full_path()) 
     profile_id_arg = request.GET.get('profileId') 
     logger.info("profile_id_arg = %s (%s)" % (profile_id_arg, type(profile_id_arg))) 
     # Do something here if profile_id_arg is not None. 

:私のサーバー上でコードの関連する行を

$http.get(API + '/api/getProfile', {'profileId':5}).then(console.log('A'), console.log('B')); 

そして、ここにある:ここで

は、コードの行は、私のクライアント上で呼び出されていますサーバ側の profile_id_argは文字列 5になります。しかし、代わりに私が手出力を見て:

request.get_full_path() = /api/getProfile 
profile_id_arg = None (<type 'NoneType'>) 

なぜ正常に受信されていないprofile_idされ、どのように私はこの問題を解決することができますか?コード例が役に立ちます。

+0

あなたは、ブラウザのHTTPリクエストの情報を投稿することができますか? – Windsooon

答えて

2

HTTP GET要求には、サーバーに送信するデータを含めることはできません。ただし、リクエストにクエリ文字列を追加することはできます。

$http.get(API + '/api/getProfile', {params:{'profileId':5}}) 
     .then(function (response) { /* */ })... 

OR

$http({ 
    url: API + '/api/getProfile', 
    method: "GET", 
    params: {'profileId':5} 
    }); 

check here1check here2

+0

はい!キー 'params'を使って修正しました。ありがとう! –

関連する問題