我有以下自定义ajax函数将数据发回PHP文件。每次数据发布后,我都会遇到以下两个错误:
Refused to set unsafe header "Content-length"
Refused to set unsafe header "Connection"
代码:
function passposturl(url1, params, obj)
{
//url1 = url1+"&sid="+Math.random();
xmlHttp = get_xmlhttp_obj();
xmlHttp.loadflag = obj;
xmlHttp.open("POST", url1, true);
//alert(url1);
//alert(params);
//alert(obj);
//alert(params.length);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function ()
{
stateChanged(xmlHttp);
};
xmlHttp.send(params);
}
我究竟做错了什么?
发布于 2018-04-03 13:47:20
删除这两行:
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
XMLHttpRequest不允许设置这些标题,它们是由浏览器自动设置的。原因在于,通过操纵这些标头,可能会欺骗服务器通过相同的连接接受第二个请求,而这种连接不会经过通常的安全检查 - 这将成为浏览器中的安全漏洞。
https://stackoverflow.com/questions/-100007934
复制相似问题