返回信息流火狐浏览器默认设置的问题:
当用户在 Firefox 67 和更早版本中使用 file:/// URL打开页面时,页面来源被定义为打开页面的目录。同一目录及其子目录中的资源均被视为具有相同的来源,符合 CORS 同源规则。
为响应 CVE-2019-11730,Firefox 68 及更高版本中使用 file:/// URL定义打开页面的来源唯一。 因此,同一目录或其子目录中的其他资源不再满足 CORS 同源规则。这个新的表现通过 privacy.file_unique_origin 这一首选项控制,默认启用。
解决方法:about:config,将privacy.file_unique_origin的值改为false。
看了《JS DOM编程艺术》上第七章关于Ajax的介绍,依照书上的代码试了一遍,不过我的example.txt里的文本信息并没有加载出来,找到了网上相同的问题但是都没有解答,想请问一下是什么原因。
PS:我发现<p></p>节点创建成功了,只是没有文本信息。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Ajax</title>
</head>
<body>
<div id="new"></div>
<script src="scripts/addLoadEvent.js"></script>
<script src="scripts/getHTTPObject.js"></script>
<script src="scripts/getNewContent.js"></script>
</body>
</html>
function getHTTPObject(){
if(typeof XMLHttpRequest=="undefined")
XMLHttpRequest=function(){
try{return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
catch (e) {}
try{return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
catch (e) {}
try{return new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) {}
return false;
}
return new XMLHttpRequest();
}
function getNewContent(){
var request = getHTTPObject();
if(request){
request.open("GET","example.txt",true);
request.onreadystatechange = function(){
if (request.readyState == 4){
var para = document.createElement("p");
var txt = document.createTextNode(request.responseText);
para.appendChild(txt);
document.getElementById('new').appendChild(para);
}
};
request.send(null);
}else{
alert('Sorry, your browser doesn\'t support XMLHTTPRequest.');
}
alert("Function Done");
}
addLoadEvent(getNewContent);
function addLoadEvent(func){
var oldonload = window.onload;
if(typeof(window.onload) != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
这是一条镜像帖。来源:北邮人论坛 / java-script / #4973同步于 2019/9/17
JavaScript机器人发帖
【已解决】[问题]Ajax没有返回文本信息
cyf970414
2019/9/17镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。