2016-05-14 8 views
0

認証のために外部POST APIに接続しようとしています。 私がしようとしている:ANGULARからREST APIに接続

$http({ 
    method : 'POST', 
    url  : 'myURL', 
    data : {"j_username": "myUserName,"j_password": "myPassword"}, 
    headers : { 
     'Content-Type': 'application/x-www-form-urlencoded', 
    } 
}) 

をしかし、私はこのエラーを取得しています:

XMLHttpRequestがhttp://...urlをロードすることはできません。プリフライトの応答が 無効(リダイレクト)

+0

たぶんhttp://stackoverflow.com/q/33660712/367865のDUP – Ouroborus

+0

エラーが要求されたとき、このURLは、別のにリダイレクトことを語っています。詳細については、この[answer](http://stackoverflow.com/a/36221621/1488993)を参照してください。 。* ....これはCORSが – Doon

+0

あなたは行方不明を持っている - 私は基本的な問題を説明したい絶対に合意しました。 ) – rrd

答えて

2

CORSの問題のようです。 呼び出しているAPIのドメインとは別のドメインからjavascriptを提供する場合、CORSの問題が発生します。要するに、ブラウザは、javascriptがドメインAから提供され、APIがドメインBにあることを検出します。次に何が起きるかは、あなたが何をしようとしているかによって異なります。この場合、POSTを実行しています。 プリフライトチェックをAPIサーバーに送信して、ドメインAからのこのjavascriptでアクセスできるかどうかを尋ねます。 ブラウザは、ブラウザがリクエストを許可するためにはyesと答える必要があります(実際には「はい」というよりは少し複雑ですが、あなたはそのアイデアを得ます)。

要するに、これを可能にするようにAPIサーバーを設定する必要があります。それがあなたのAPIでない場合、JavaScriptをアクセスできるようにCORSを設定できる場合は、そのAPIを所有している人に尋ねる必要があります。

この種の設定で作業する必要がある場合は、それを読み、適切に理解する時間が必要です。一方、あなたは地元のjsファイルで何かをスパイクしているだけかもしれません。その場合、そのように動作しないことを知る必要があります。

https://stackoverflow.com/a/23824093/11534も参照してください。

+0

サーバは*と言って応答しない後マーク」 – charlietfl

+0

@charlietfllをどのように動作するかの単純化され、「はい「MYUSERNAMEすぎ – Frans

+0

iはいくつかのより多くの設定を行う必要がありますか –

関連する問題