2016-04-20 27 views
0

私はangularJsのヘッダーでデータを投稿しようとしています。

ヘッダなしのデータを投稿すると、サーバ側でデータを取得できます。

return $http.post('http://localhost:53646/Login', data, { headers: { "Content-Type": "application/x-www-form-urlencoded" } } 
      ).then(function (response) { 
        debugger; 
        console.log(response.data); 
        return response.data; 
       }, function (error) { 
        debugger; 
        console.log(error); 
       }); 

しかし、カスタムヘッダーでデータを送信すると、ヘッダーとデータの両方が取得されません。

return $http.post('http://localhost:53646/Login', data, { headers: { "Content-Type": "application/x-www-form-urlencoded","Authorization":" Basic a3VtYXW1pdCsxQHJhbm9zeXMuY29tOlBhc3N3b3JkQDEyMzpJb3NBcHA" } } 
      ).then(function (response) { 
        debugger; 
        console.log(response.data); 
        return response.data; 
       }, function (error) { 
        debugger; 
        console.log(error); 
       }); 
+0

実際に受け取ったエラーは何ですか? ASP.NETエンドポイントはリクエストを受信して​​いますか? – Linvi

+0

シングルリクエストかすべてのリクエストですか? –

+0

共通の認証ヘッダーを使用しないでください。 $ httpProvider.defaults.headers.common ['Authorization'] = "ここにデータを渡す"; return $ http.post( 'http:// localhost:53646/Login'、データ、ヘッダー:{"Content-Type": "アプリケーション/ x-www-form-urlencoded"}} ).then(関数(応答){ デバッガ; にconsole.log(response.data); 戻りresponse.data; }、関数(誤差){ デバッガ; にconsole.log(エラー); })。 –

答えて

0

ヘッダーの定義が正しいように見えます。 FiddlerやChromeの開発ツールを使用して実際に何が投稿されたかを調べてみましたか?

これを最初にチェックしてください。ポストが正しく実行されていれば、ASP.NET MVC側のモデルバインダーと関係があります。

+0

私が郵便配達員を使って同じことをしようとしているとき、正しくデータを受け取ります。実際に私がヘッダーを設定すると、それはcontent-Typeを要求しません。 –

+0

それは変です。あなたの$ httpサービスがアプリの設定段階で何らかの方法で設定される可能性はありますか?あなたは空の角度のアプリ内で同じ正確なアプローチを試しましたか? – DrinkBird

+0

はい。これはAjaxリクエストで試しても起こっています。 –