Javascript で XMLHttpRequest を使用して PHP サービスを利用しようとしています。
次のエラーを受け取ります:
XMLHttpRequest は http://***/adService.php を読み込めません。プリフライトの応答に無効な HTTP ステータス コード 406 が含まれています
以前Access-Control-Allow-Origin: *
、PHPサービスを追加することで修正されたCORSエラーがありました。
現在何が問題になっている可能性があり、どのように修正できますか?
プリフライトに関するさまざまな記事を確認しましたが、バックエンドの専門家ではないため、理解できませんでした。
JS コード:
function authenticate(){
var user = document.getElementById("user").value;
console.log("User : "+user);
var pass = document.getElementById("pass").value;
var xmlhttp = new XMLHttpRequest(); // new HttpRequest instance
xmlhttp.open("POST", "http://****/adService.php");
xmlhttp.setRequestHeader("Content-Type", "application/json");
xmlhttp.setRequestHeader("Accept", "application/json");
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState != 4) return;
if (xmlhttp.status != 200) {
alert('HTTP error ' + xmlhttp.status);
return;
}
var response = xmlhttp.responseText;
console.log("response->"+response);
data.resp = JSON.parse(response);
if(data.resp.message=='Authentication success'){
alert('That worked!');
}else{
alert('That didn\'t work!');
}
}
var str = '{"id":"'+user+'","password":"'+pass+'","groupName":"","groupAuthorization":false}';
/* console.log("request->"+str); */
xmlhttp.send(JSON.stringify(str));
}