微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我读本地文件时,Ajax无法正常工作

好的,我不能连续两天解决此问题..这里的示例:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_xml2在w3schools网站上工作正常.但是当我将代码复制并粘贴到记事本中时.没用我已经下载了XML文件.比起我,我读到的是AJAX不支持使用本地文件.我不明白吗?我有一份关于学校使用本地XML文件的建议.当AJAX不支持使用本地文件时,如何使用本地XML文件和AJAX.我从助教那里得到的唯一答复是我应该使用Firefox …但是不行.它不适用于:Chrome,Internet Explorer,Mozila,Opera ..基本上什么都没有…

我知道有人在这里提出过类似的要求,但我无法使其正常工作.如果有人知道如何修改此给定代码以在本地工作,我将非常感激..谢谢.

<!DOCTYPE html>
<html>
    <head>
        <script>
            function loadXMLDoc(url) {
                var xmlhttp;
                var txt, x, xx, i;
                if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else { // code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        txt = "<table border='1'><tr><th>Title</th><th>Artist</th></tr>";
                        x = xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
                        for (i = 0; i < x.length; i++) {
                            txt = txt + "<tr>";
                            xx = x[i].getElementsByTagName("TITLE"); {
                                try {
                                    txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                                } catch (er) {
                                    txt = txt + "<td> </td>";
                                }
                            }
                            xx = x[i].getElementsByTagName("ARTIST"); {
                                try {
                                    txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                                } catch (er) {
                                    txt = txt + "<td> </td>";
                                }
                            }
                            txt = txt + "</tr>";
                        }
                        txt = txt + "</table>";
                        document.getElementById('txtCDInfo').innerHTML = txt;
                    }
                }
                xmlhttp.open("GET", url, true);
                xmlhttp.send();
            }
        </script>
    </head>

    <body>
        <div id="txtCDInfo">
            <button onclick="loadXMLDoc('cd_catalog.xml')">Get CD info</button>
        </div>
    </body>
</html>

解决方法:

您无法使用本地文件.本地文件系统是沙盒,因此,例如,您无法双击电子邮件附件中的HTML文档,无法在浏览器中将其打开,然后将其私有文件上传到发件人的服务器.

如果要在本地测试Ajax,请安装本地Web服务器并对其进行测试.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐