【发布时间】:2016-06-28 17:42:45
【问题描述】:
我有一个非常简单的单页应用程序(由 index.html、style.css、functions.js 和 data.json 组成),我正在尝试将其转换为 Express/Node.js 应用程序以添加一些附加功能。我是 Node.js 的新手。
我通过创建一个包含以下代码的 app.js 文件来完成此操作:
var express = require('express');
var app = express();
var path = require('path');
// viewed at http://localhost:8080
app.use(express.static(__dirname + '/public'));
app.listen(8080);
基本的应用程序文件都在 /public 文件夹中,所以它工作得很好。唯一不再起作用的部分是 POST 请求,它是 functions.js 中的一个 AJAX 函数,它获取 data.json。现在返回 404。
现在,我可以通过将以下代码添加到 app.js 来将 data.json 提取到 app.js 中:
var testData = require("./public/data.json");
console.log(testData);
这工作得很好,并记录到控制台,所以它工作正常,我知道它正在查找文件,但数据对我的 functions.js 文件中的任何函数都不可用。我猜这是因为它在服务器端,而 AJAX 请求会将它带到客户端。就像我说的,我是 Node.js 和 Express 的新手,这几乎是我的理解力耗尽的地方。
所以,我的问题是,如何复制我在 functions.js 文件中的 AJAX POST 请求的功能?是否只是我需要将我的 data.json 文件放在其他地方,或者设置另一条路线?或者我是否需要将更多此功能移至 app.js 文件,并以某种方式在客户端使用在那里创建的变量(现在包含来自 data.json 的所有数据)?如果是这样,我该怎么做?
我很欣赏这是一个广泛的问题 - 我不一定需要完整的代码来提供解决方案(如果这很费力的话);关于在哪里查找以及我应该如何执行此操作的指示将同样有帮助。当我知道去哪里寻找时,我很高兴自己进行研究——现在,我不知道。
非常感谢任何帮助。谢谢。
【问题讨论】:
标签: json ajax node.js post express