2

我正在尝试使用 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));
        }


请求/响应标头:
在此处输入图像描述 在此处输入图像描述

4

0 回答 0