【react读取文件】react发送GET请求读取静态文件
react中,使用发送请求的方式把static文件夹中的前端可访问的静态文件读取成字符串:
1、new request,需要用到getRequestHeaders组件
2、fetch获取response
3、return response.text() 获取文件内容(关于response对象的属性和方法见:https://developer.mozilla.org/zh-CN/docs/Web/API/Response 。在这里,return response.tx()返回的是一个promise对象,这里我也没搞懂,promise对象到底是什么,以及到底是同步的还是异步的,后续还需要再看一下。https://www.cnblogs.com/whybxy/p/7645578.html )
import React, { Component } from 'react';
import { getRequestHeaders } from '../setupAjaxHeaders';
import HyperDown from 'hyperdown';
import './ReadMePage.css';
class ReadMePage extends Component {
constructor(props){
super(props);
this.state={
readmeHtml:undefined,
};
}
render(){
const getArtifactRequest = new Request(require('../static/readme.md'), {
method: 'GET',
headers: new Headers(getRequestHeaders(document.cookie))
});
fetch(getArtifactRequest).then((response) => {
return response.text()
}).then((text) => {
const parser=new HyperDown;
this.state.readmeHtml=parser.makeHtml(text);
this.setState({
readmeHtml:parser.makeHtml(text),
});
return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>;
});
return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>;
}
}
export default ReadMePage;
注意,要保存代码中动态生成的结果,必须在构造函数中定义 this.state={resultname:undefined, } 并在生成结果时调用this.setstate({ resultname:result, }),然后后续调用的时候使用this.state.resultname
注意,request获取response之后,response.text()需要通过return再then才能获取到,直接使用是获取不到的
【react读取文件】react发送GET请求读取静态文件的更多相关文章
- Django本地开发,引用静态文件,火狐浏览器不能访问静态文件,谷歌浏览器却能访问静态文件
查了一下是settings.py设置问题 # Static files (CSS, JavaScript, Images)# https://docs.djangoproject.com/en/1.1 ...
- python发送post请求上传文件,无法解析上传的文件
前言 近日,在做接口测试时遇到一个奇葩的问题. 使用post请求直接通过接口上传文件,无法识别文件. 遇到的问题 以下是抓包得到的信息: 以上请求是通过Postman直接发送请求的. 在这里可以看到消 ...
- node静态资源服务器的搭建----访问本地文件夹(搭建可访问静态文件的服务器)
我们的目标是实现一个可访问静态文件的服务器,即可以在浏览器访问文件夹和文件,通过点击来查看文件. 1.先创建一个文件夹anydoor,然后在该文件夹里npm init一个package.json文件, ...
- SpringMVC——正常访问静态文件,不要找不到静态文件报404的方法
方案一:激活Tomcat的defaultServlet来处理静态文件 <span style="font-size:12px;"> <servlet-mappin ...
- Java客户端通过Http发送POST请求上传文件到web服务器
http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...
- C# 发送Http请求,传文件和其他参数
/// <summary> /// httpWebRequest post by dic /// </summary> /// <param name="url ...
- ASP.NET MVC请求特殊静态文件返回404 Not Found
今天在请求静态的json档案以及woff2档案,会返回404错误,需要在Web.Config里修改: <system.webServer> <modules> <remo ...
- c#代码发送post请求,上传文件(并带其他参数)
本人对post理解不深,前段时间遇到一个需要用c#代码发送post请求上传文件的业务,于是参考了几篇帖子,加上自身实践写出了如下代码.写的比较low 望各位大大指正^_^. 业务需求: 对方给了一个接 ...
- ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...
随机推荐
- mysql 循环insert
亲测成功!可用,复制即可 DELIMITER ;; CREATE PROCEDURE test_insert() BEGIN DECLARE y TINYINT DEFAULT 1;WHILE y&l ...
- JS学习笔记(3)--json格式数据的添加,删除及排序方法
这篇文章主要介绍了json格式数据的添加,删除及排序方法,结合实例形式分析了针对一维数组与二维数组的json格式数据进行增加.删除与排序的实现技巧,需要的朋友可以参考下 本文实例讲述了json格式 ...
- phoenix 入门
http://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html Blah, blah, blah - I just want to get s ...
- XmlFactoryBean和DefaultListableBeanFactory学习
首先提供了一个Spring容器最简单的例子. bean的定义,MyTestBean.java public class MyTestBean { private String testStr = &q ...
- ssh2——Interceptor拦截器
尽管没学过struts1吧.可是了解到struts1中并没有拦截器, 到Struts2才有.它是基于WebWork发展起来的, 顾名思义,说到拦截器大家首先肯定会想到它是拦截东西的,起到一个限制的作 ...
- PCB标识说明
VDC (Voltage Direct Current),直流电压 VBAT,电池供电 PWKEY,电源键 RXD,数据接收 TXD,数据发送 Receive Data ,Transmit Data ...
- js和jquery获取屏幕的高度
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- trim() 是什么意思?
这是一个很常见的函数,他的所用是去掉字符序列左边和右边的空格,如字符串str = " ai lafu yo ";str = trim(str); cout << str ...
- JVM与外界通过数据通道进行数据交换
使用I/O流访问file中的内容. JVM与外界通过数据通道进行数据交换. 分类: 按流分为输入流和输出流: 按传输单位分为字节流和字符流: 还可以分为节点流和过滤流. 节点流:负责数据源和程序之间建 ...
- 【BZOJ】1022: [SHOI2008]小约翰的游戏John(博弈论)
http://www.lydsy.com/JudgeOnline/problem.php?id=1022 好神的博弈论. 题解见dzy的blog:http://dzy493941464.is-prog ...