我有下面的自定义ajax函数,它将数据发布回PHP文件。每次发布数据时,我都会遇到以下两个错误:
拒绝设置不安全的标题“内容长度”
拒绝设置不安全的标题“连接”
代码:
函数passposturl(url1,参数,obj)
{
//url1=url1+“&;sid=“+Math.random();
xmlHttp=get_xmlHttp_obj();
xmlHttp.loadflag=obj;
open(“POST”,url1,true);
//警报(url1);
//警报(参数);
//警报(obj);
//警报(参数长度);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
setRequestHeader(“内容长度”,参数长度);
setRequestHeader(“连接”,“关闭”);
xmlHttp.onreadystatechange=函数()
{
stateChanged(xmlHttp);
};
xmlHttp.send(params);
}
我做错了什么
删除这两行:
xmlHttp.setRequestHeader(“内容长度”,参数长度);
setRequestHeader(“连接”,“关闭”);
XMLHttpRequest不允许设置这些头,它们是由浏览器自动设置的。原因是,通过操纵这些头,您可能会欺骗服务器通过同一个连接接受第二个请求,而该请求不会通过通常的安全检查,这将是浏览器中的一个安全漏洞