jQuery AJAXを使用してWebサービスにクエリを作成しています。私のクエリは次のようになります。jQuery AJAX呼び出しの結果がエラー状態403
var serviceEndpoint = 'http://example.com/object/details?version=1.1';
$.ajax({
type: 'GET',
url: serviceEndpoint,
dataType: 'jsonp',
contentType: 'jsonp',
headers: { 'api-key':'myKey' },
success: onSuccess,
error: onFailure
});
私はこれを実行すると、ステータスコード403を有する点で、私の呼び出しの結果は、私が上のセキュリティの制御によ、なぜ、私は理解していない403のステータスエラーを取得します私のサービスとそれはワイドオープンとしてマークされています。私は鍵が有効であることを知っています。なぜなら、私は別の呼び出しでそれを使用しているからです。
私はこれらが2つの異なるエンドポイントであることを知っています。しかし、私はこれがサーバー側の認証または許可エラーではないと100%確信しています。もう一度、すべてがサーバー側で広く開いています。つまり、クライアント側のリクエストで間違いをしています。
私はこの要求が開発中に行われていると伝えなければならないと感じています。だから、私はhttp://localhost:3000から実行しています。その理由から、私はすぐにそれがCORSの問題であると仮定しました。しかし、すべてが正しいように見えます。私のPOSTリクエストは機能しますが、GETは私には絶対に欲求不満です。何か不足していますか?どうなり得るか?
ブラウザでそのURLを直接開こうとしましたか? URLの '/ data /'部分が欠落していますか? – charlietfl
'jsonp'リクエストにヘッダを送ることはできません。これはスクリプトリクエストです。あなたは 'jsonp'ではなく' jsonp'を望んでいますか?ヘッダーの 'JSON.stringify()'もなぜですか? GETは 'contentType'を要求しません。ボディコンテンツが送信されていないためです。いずれかの問題が発生する可能性のある問題が多数あります。 – charlietfl
@charlietflブラウザで開こうとしました。私はインクルードする必要がある '/ data /'の部分に慣れていません。私はlitterally 'バージョン'と 'api-key 'を渡す必要があります。ヘッダーとして 'api-key'を置くべきだと思っていました。 'data'と' contentType'のプロパティを 'jsonp'に設定する必要がありますか?これは単純な呼び出しでなければならないようです。しかし、明らかに、私はそれをボクシングして何かを見落としています。正しい呼び出しはどうすればよいですか? –