次のリクエストは正常に機能します。
curl -X GET --header 'Accept: application/json' --header 'X-Authorization: Bearer eyNI6GJ0DA9ObwNA1QAv3oqN2zWWQHsiAxR3m-QZjtaw' 'http://host:port/api/tenant/devices?limit=10'
次に、 を介して同じリクエストを実行する必要がありますjquery.ajax()。
私はこれを試しました:
var mytoken = "Bearer eyNI6GJ0DA9ObwNA1QAv3oqN2zWWQHsiAxR3m-QZjtaw ";
$.ajax({
type: 'GET',
url: "http://" + host + ":" + port + "/api/tenant/devices?limit=10",
contentType: "application/json",
dataType: "JSON",
xhrFields: {
withCredentials: true
},
beforeSend: function(xhr) {
console.log("beforesend");
xhr.setRequestHeader ("X-Authorization", mytoken);
},
success:function(data) {
console.log(data);
},
error:function(error){
console.log(error);
}
});
私が得たものは次のとおりです。
Response: {"status":401,"message":"Authentication failed","errorCode":10,"timestamp":1518184124772}
コンソール:
http://host:port/api/tenant/devices?limit=10の読み込みに失敗しました: プリフライト要求への応答がアクセス制御チェックに合格しません: 要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません. したがって、オリジン 'null' へのアクセスは許可されません。応答には HTTP ステータス コード 401 がありました。
作業中のカール レストを jquery ajax に変換する正しい方法はどれですか?