2016-10-04 5 views
0

テスト目的でローカルHTMLページを繰り返し使用してアカウントを作成する簡単な繰り返しAPIクライアントを実装しようとしています。Javascriptを使用してAPIレストクライアントを実装すると、承認ヘッダを追加するときに404が返されます

私はJavascriptでリクエストをハードコーディングしており、XMLHttpRequestを使用してポスト操作を行っています。

var client = new XMLHttpRequest(); 
client.open("POST", "https://subdomain.recurly.com/v2/accounts", true); 
client.setRequestHeader("Authorization", "Basic " + "API Key"); 
client.send([XML Request Here]); 

コードが404

を返している。しかし、私は

client.setRequestHeader("Authorization", "Basic " + "API Key"); 

をコメントアウトした場合のコードは、エンドポイントが存在することを意味し、(不正)401を返しているが、に問題がありますAuthorizationヘッダーを設定します。

編集:私は404リクエストの方法をチェックしました。これはPOSTではなくOPTIONSですが、これは元のポリシーが同じためですか?

ご迷惑をおかけして申し訳ございません。

ありがとうございます。

+0

をあなたの要求が正しく見える場合も...あなたは、開発ツールで確認しました:この1に設定されていますか? 理論上、リソースがマップされていない場合、404は休憩サービスの有効な応答です。 –

+0

私はcURLを使用して同様のリクエストを送信し、成功したXMLを返しました。 – user6921220

+0

同じ結果が得られるはずです。非常に基本的なPOST要求に「類似」を1つの認証ヘッダーで比較するのは非常に難しいです。 –

答えて

0

特定のコンテンツタイプのPOSTリクエストは、フライト前のリクエストを生成してはいけません。

アプリケーション/ x-www-form-urlencodedで

client.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

Send POST data using XMLHttpRequest

+0

回答していただきありがとうございます。残念ながら、依然として404エラーが発生しています。 – user6921220

+0

リクエストに追加されている他のヘッダーがあるかどうか確認できますか?ブラウザのデベロッパーツールでリクエストの内容は何ですか? –

+0

ありがとうございます。私は、同じ起源政策がこれの理由であることを確認しました。私はIE 8を使用しましたが(これは同じ起点ポリシーを強制しません)、要求は通過しました。私は現在、最新のブラウザで同じ発信元ポリシーをバイパスする方法を見つけようとしています。 – user6921220

関連する問題