BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java-script / #4973同步于 2019/9/17
JavaScript机器人发帖

【已解决】[问题]Ajax没有返回文本信息

cyf970414
2019/9/17镜像同步0 回复
火狐浏览器默认设置的问题: 当用户在 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(); } } }
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。