码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【js】解决读取文件源内容总是得到默认index.html


    在项目开发中,资源的获取都可以通过网络,所以获取文件内容,只需要将文件地址作为请求发送即可

    读取文件源内容

    	const path = '资源地址(必须是绝对路径)'
    
          fetch(path)
            .then((response) => {
              if (!response.ok) {
                throw new Error('Network response was not ok')
              }
              return response.text()
            })
            .then((data) => {
              console.log('data===', data)
            })
            .catch((error) => {
              console.error(
                'There has been a problem with your fetch operation: ',
                error,
              )
            })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    问题

    请求发送成功,但是获取的内容是默认的index.html
    在这里插入图片描述
    思考

    1. 为什么返回的不是请求的文件?
      请求文件资源不存在,服务器未找到匹配的文件,只能返回该项目的默认index.html
    2. 找不到文件的原因?路径错误?文件名有误?
      必须是绝对路径

    我们一般项目里都会通过webpack或vite设置路径别名@,便捷开发。所以平时获取图片,导入文件都会使用别名@。此时你也是否在发送请求时使用别名@呢,问题的根据原就在此

    使用别名开发时是webpack和vite等工具提供的,在dom和import导入时会自动解析
    但此时我们想要将路径作为地址发送网络请求,fetch API 是不知道如何处理这个别名的,它只能发送 HTTP 请求到服务器。

    解决

    当使用别名时,请求地址中@别名未被解析,所以服务器找不到@目录下的文件,返回默认的index.html
    在这里插入图片描述

    使用绝对路径之后再次请求

    在这里插入图片描述

    得到正确的文件内容

    在这里插入图片描述

  • 相关阅读:
    进化吧,MySQL锁!无锁->偏向锁->轻量级锁->重量级锁(请自动脑补数码宝贝进化音)
    基于BM1684X 架构实现 Faiss 的两个查询接口
    企业微信怎么变更企业名称?
    通过修改metadata来修改一个图像中的label信息,进行扩充;obj_label: 一个数组,用于存储描述被检测对象类别的字符串
    【FPGA教程案例22】基于FIFO核的可控任意长度延迟器设计
    冒泡排序详解
    面试算法27:回文链表
    java课堂互动应答系统mp4计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    echarts vue里画一个简单的环状饼图
    Springboot使用Aop保存接口请求日志到mysql(及解决Interceptor拦截器中引用mapper和service为null)
  • 原文地址:https://blog.csdn.net/weixin_52418790/article/details/137930187
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号