当前位置: 首页 > 知识库问答 >
问题:

如何使用express.js向本地json文件发出GET请求?

郑高驰
2023-03-14

在我的server.js中,我有这个

var data = {};
app.get('/src/assets/data.json', (req, res) => {
  console.log(res)
  res.writeHead(200, {
    'Content-type': 'application/json'
  });

  res.end(JSON.stringify(data));
});
[{
    "param": "one",
    "param": "two",
    "param": "three"
  }]
getData() {
    let xhr = new XMLHttpRequest();
    xhr.open('GET', '/src/assets/data.json', true);
    xhr.onreadystatechange = () => {
      if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        console.log(xhr)
      }
    };
    xhr.send();
  }

共有1个答案

程枫
2023-03-14

你为什么不直接把你要求的文件

var data = {};
app.get('/src/assets/data.json', (req, res) => {
  console.log(res)

  /* Insted of doing all this */
  // res.writeHead(200, {
  //    'Content-type': 'application/json'
  // });
  // res.end(JSON.stringify(data));

  /* Just send the file */
  res.sendFile(path.join(__dirname, '/src/assets', 'data.json'));
});

但是如果您只想像您的代码那样做,那么您需要在代码中包含的内容是

  1. 读取data.json文件。
  2. 将文件中的所有数据放入对象,即数据变量。
var fs = require('fs'); /* Put it where other modules included */
var data = JSON.parse(fs.readFileSync('/src/assets/data.json', 'utf8')); /* Inside the get function */

异步:

var fs = require('fs');
var data;
fs.readFile('/src/assets/data.json', 'utf8', function (err, data) {
  if (err) throw err;
  data = JSON.parse(data);
});

在应用代码之前请阅读官方文档,也可以随意查看节点文件系统上的其他示例。

来源:Here

 类似资料:
  • 我有一个名为fake的文件。我的angular应用程序中的json内部资源。此文件的路径如下所示。 MyApp= 我想使用我的组件中的HttpClient(位于应用程序文件夹内)对此文件发出请求。 MyApp= 组件源代码 我发生了以下错误 的HttpErrorResponse Http故障响应http://localhost:4200/assets/json/fake.json:404找不到 我

  • 问题内容: 如何使用jQuery明确提出AJAX HTTPS GET请求?我正在尝试执行以下操作。在https页面上,我有一行代码,但是出现以下错误 如果相对资源来自https页面,为什么AJAX调用会尝试使用HTTP协议访问页面?如果$ .get(url)方法默认执行此操作,那么我如何使用jQuery进行显式的HTTPS GET请求?在http://forum.jquery.com/topic/

  • 问题内容: 如果尝试登录https://orbit.theplanet.com/Login.aspx?url=/Default.aspx(使用任何用户名/密码组合),则可以看到登录凭据以非传统集的形式发送POST数据:仅一个寂寞的JSON字符串,没有正常的key = value对。 具体来说,代替: 甚至类似: 简单来说就是: 是否可以使用或替代模块执行此类请求?我愿意这样做,但希望有更高层次的东

  • 我正在尝试从数据库中提取数据。我从回应中得到的都是这样的: 我需要帮助如何在前端和后端提出请求: 以下是ReactJS方面: 以下是请求的服务器端: 以下是ProductService: 附注:产品在MongoDB Compass中创建时没有错误:

  • 因此,当前,当我的webapp发出get请求时,uri如下所示: 用户?USDERID=123 我想要的是 用户/123 我该怎么做? Googleing如何在javascript中发出get请求,当我想要后者时,就会给出前者的URI。 @requestmapping(value=“/users/{userId}”,method=requestmethod.get) 编辑: 因此,我在回复中尝试了

  • 我有一个演示angular应用程序,它有一个。但是,当我制作自己的组件和服务来访问自己的自定义本地json时,在Chrome控制台中会出现404错误。即使json文件与服务位于同一目录中,并且使用,只有当我把它放在文件夹下,比如。Angular是否有一条规则,规定http消费的本地json必须存在于文件夹下? 编辑:发现将文件放在“资产”文件夹下可以工作,但如果创建自定义文件夹,则无法工作。