Node.jsの学習と実験を始めたばかりです(初めてAJAX、JSON、サーバーサイドを扱っています)。シンプルなフォームのコンテンツを投稿したいAJAXとNode/Expressサーバーを使用してJSON形式でディレクトリ内のファイルに追加します。フォームの内容を投稿しようとするたびに、現在POST http://localhost:3000/server.js 404 (Not Found)
またはPOST http://localhost:3000/add-tasks 500 (Internal Server Error)
というエラーが表示されています(詳細については、下の質問を参照してください)。AJAX post + node/expressを使用してJSONデータをファイルに書き込む
ここディレクトリ構造です::
ここに私のHTMLは(index.htmlのファイル名):のメイン:
<div>
<label for="important">Important?</label>
<input type="checkbox" id="important" name="important">
</div>
<div>
<label for="urgent">Urgent?</label>
<input type="checkbox" id="urgent" name="urgent">
</div>
<button type="button" id="submitToDo">
Add
</button>
</div>
ここでは、クライアント側JS (ファイル名です。 js):
$(document).ready(function() {
var userTask = $("#task").val();
var userImportant = $("#important").prop("checked");
var userUrgent = $("#urgent").prop("checked");
var toDo = {
task: userTask,
important: userImportant,
urgent: userUrgent,
};
$("#submitToDo").on("click", function() {
$.post("/server.js", toDo);
});
});
ここ は、私はほとんどのチュートリアルから借りサーバー側JS、ですので、私はそれがすべての必要な(ファイル名:server.js)だかはわからない:私が持っていた
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var fs = require("fs");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static("./public"));
app.post("/add-tasks", function(req, res) {
fs.write("tasks.json", "JSON", req.body);
});
app.listen(3000);
console.log("Express is running on port 3000");
いくつかの質問取得しようとしながら、これは動作します
- 何パス/ URLは私が
$.post
とapp.post
のために置くべきか?私は$.post
のために/add-tasks
を置くと500エラーが発生し、それは/server.js
のときに404を得る。 fs.write
私のtasks.jsonファイルにJSONを追加する方法を教えてください。
[fs.writeドキュメント](https://nodejs.org/api/fs.html#fs_fs_write_fd_buffer_offset_length_position_callback) – DrakaSAN