0
と反応:は、なぜ私はこの中に404を取得しています私はこのようなAJAX要求を介してサーバにフォームに挿入されたデータ送信しようとしていますノード
handleUserSubmit: function(user) {
var users = this.state.data;
user.id = Date.now();
var newUsers = users.concat([user]);
this.setState({data: newUsers});
$.ajax({
url: this.props.url,
dataType: 'json',
type: 'POST',
data: user,
success: function(data) {
this.setState({data: data});
}.bind(this),
error: function(xhr, status, err) {
this.setState({data: users});
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
をレンダリングは、次のように行われます。
ReactDOM.render(
<UserBox url="../users" pollInterval={2000} />,
document.getElementById('data')
);
私はこの奇妙なコンソールエラー取得しています:ユーザーにアクセスしようとしていると仮定すると(「ユーザー」ファイルので
POST http://localhost:3000/users 404 (Not Found)
を。 jsonファイルは1つ上のディレクトリにあります)。コード内で
url: this.props.url,
: "./users"、 "../users"、 "#/ユーザ" 等...
この行のコードのエラー:私は、可能なすべてのバリエーションを試してみました上記のとおりです。何が起きているのか?
マイNode.jsのコードは次のとおりです。
app.post('/users', function(req, res) {
fs.readFile(USERDATA, function(err, data) {
if (err) {
console.error(err);
process.exit(1);
}
var users = JSON.parse(data);
var newUser = {
id: Date.now(),
firstname: req.body.firstname,
lastname: req.body.lastname,
address: req.body.address,
phonenumber: req.body.phonenumber,
email: req.body.email,
licensestate: req.body.licensestate,
licensenum: req.body.licensenum
};
console.log(newUser)
users.push(newUser);
fs.writeFile(USERDATA, JSON.stringify(users, null, 10),
function(err) {
if (err) {
console.error(err);
process.exit(1);
}
res.json(users);
});
});
});
あなたは404エラーを取得しているサーバーを更新した後の状態を更新します。http '理由:// localhostを:/ users'がオンに存在していない3000サーバー(つまり、ルートフォルダに 'users'というファイルがありません - あなたはwebpack dev-serverを使用していると思います) – Alik
@Alikしかし、それはずっと前に働いていたと思います。ルートフォルダはプロジェクトフォルダかフォルダどのサーバーから実行されますか?私のusers.jsonファイルは、サーバーの実行元のフォルダにあります。 –
'url =" ../ users.json "'を設定しようとしましたか? – Alik