jquery ajaxとnode.jsを使用した単純なCRUDアプリケーションで、ノードとajaxでスキルを向上させようとしています。問題は、ノードサーバーのポストルータで処理されるポストリクエストを実行していて、すべて正常に動作していることです。それはproducts.jsonファイルに1つ多くの製品を追加しますが、最終的にはクライアントに応答を返さないため、最終的なres.send( "done")は機能せず、理由もわかりません。 。res.sendが正しく動作しない
AJAX
$("#create-form").on('submit',function(){
event.preventDefault();
var createIn = $("#create-input").val();
$.ajax({
url: '/products',
method:'POST',
data:JSON.stringify({name:createIn}),
contentType: "application/json",
dataType: "json",
success: function(data){
console.log(data);
$("create-input").val("");
$("get-button").click();
}
});
})
ノード
app.post('/products',function(req,res){
fs.readFile('products.json','utf8',function(err,data){
var result = JSON.parse(data);
var productName = req.body.name;
console.log(req.body.name);
currentId++;
var productId = currentId;
var product = {
name: productName,
id: productId
}
result.products.push(product);
fs.writeFile(__dirname + "/products.json",JSON.stringify(result),'utf8');
});
res.send("post done");
});
:ここで
コードであります
これはコードの重要な部分です。res.sendの最後で動作し、失敗します。
を追加してください? – Wex
私はこの小さなアプリケーションのためにそれを必要としないので、私はそれを直接行っています、ルートはありません –
あなたの変数 'app'はどのようなインスタンスですか? – Wex