我正在尝试使用 Javascript 中的 XMLHttpRequest 来使用 PHP 服务。
收到以下错误:
XMLHttpRequest 无法加载 http://***/adService.php。预检响应具有无效的 HTTP 状态代码 406
早些时候我遇到了 CORS 错误,通过添加Access-Control-Allow-Origin: *
PHP 服务得到了纠正。
现在可能是什么问题以及如何纠正它?
我检查了关于预检的不同文章,但由于我不是后端人员,所以无法理解它们。
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));
}