freshman45 2024-11-19 11:29 采纳率: 0%
浏览 6

IIS下ajax出现404错误

WIN10 IIS10 下ajax 报404错误,在XMLHttpRequest send的时候报错:Failed to load resource: the server responded with a status of 404 (Not Found)
代码示例如下:

<!DOCTYPE html>
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>
            你好,AJAX!
        </title>
    </head>
    <body>
        <h1 id="myh1">点击以下按钮修改内容</h1>
        <button onclick="run()">RUN</button>
    </body>
    <script>
        function run(){
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange= ()=>{
                if(xhr.readyState==4 && xhr.status==200){
                    console.log('请求已完成且响应已就绪');
                    var myh1 = document.getElementById("myh1");
                    myh1.textContent = xhr.responseText;
                }
            }
            xhr.addEventListener('readystatechange',()=>{
                console.log('readyState属性改变了');
            });
            xhr.open('GET','<url>',true); //url是指你请求资源的目标地址
            xhr.send();
        }
    </script>
</html>

  • 写回答

1条回答 默认 最新

  • 嵌入式小企鹅 2024-11-19 12:05
    关注

    主要就是第一点先注意
    1、相对路径还是绝对路径问题
    如果填的是相对路径,那它的相对位置是相对于当前 HTML 页面的位置来计算的。比如,如果请求的文件和这个 HTML 页面在同一目录下,那直接写文件名就行(假设是test.txt,就写test.txt);要是在 HTML 页面所在目录的子文件夹里(比如有个data文件夹,文件在里面叫test.txt),那就得写成data/test.txt这样的形式。
    如果填的是绝对路径,要确保格式正确且符合 IIS 10 里网站配置的要求哦,比如http://localhost/yourFolder/yourFile.php这种形式(这里假设localhost是你的本地 IIS 服务器地址,yourFolder是文件所在文件夹,yourFile.php是请求的文件)。
    2、检查目标资源是否真的存在且部署正确
    在 IIS 10 里,确认你请求的文件确实放在了你设置的路径下呀。按照前面说的,通过 IIS 管理器查看网站的物理路径设置,然后到对应的文件夹里看看那个文件在不在。
    要是文件存在,还要看看文件名有没有写错呀,包括扩展名这些,哪怕一个字母或者符号不对,都会导致 404 错误呢。
    3、IIS 相关配置匹配问题
    还是前面提到的 MIME 类型那块,如果请求的文件类型没在 IIS 里配置好对应的 MIME 类型,可能也会出现问题哦,要根据实际请求文件的类型去检查和配置下 MIME 类型呀。
    另外,如果有 URL Rewrite 规则或者其他模块配置影响了这个请求路径的处理,也得排查下,看看是不是这些配置把请求的路径弄 “乱” 了,导致找不到对应的资源呢。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月19日