2016-05-21 18 views
0

は私のルータのためのコードを持ってもらうNodeJSは500

var express = require('express'); 
var router = express.Router(); 


function sendSolve(test) { 
    // Some code for calculations 
} 
/* POST listing. */ 
router.post('/', function (req, res, next) { 
    sendSolve(req.body.data); 
    next(); 
}, function (req,res) { 
    res.json({"message": "ok"}); 
}); 

module.exports = router; 

クライアントコード:

$('.button').on('click', function() { 
    var $textArea = $('#textArea'); 
    var newData={data: $textArea.val()}; 
    $.post('/', newData, function (res) { 
     console.log(res); 
     $textArea.val(''); 
    }); 
}); 

そして私最初$.post everythngはOKですが、第2のポストイムには、エラー 500 (Internal Server Error)k.cors.a.crossDomain.send @ jquery-2.1.4.min.js:4n.extend.ajax @ jquery-2.1.4.min.js:4n.(anonymous function) @ jquery-2.1.4.min.js:4(anonymous function) @ main.js:26n.event.dispatch @ jquery-2.1.4.min.js:3r.handle @ jquery-2.1.4.min.js:3を取得

+1

問題が発生している場所からフロントエンドコードを追加する必要があります。 curlまたはpostmanを使用すると複数の投稿にエラーが表示されますか? – vbranden

答えて

0

500 (Internal Server Error)k.cors.a.crossDomain.sendCORSのように見えます。 POSTではかなり一般的です。これに対処する1つの方法は、ミドルウェアを介してCORSを有効にすることです。以下の例:

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

これはPOSTルートの上に配置してください。希望が役立ちます。

+0

残念ながら、まだエラー500を取得していません。 mbこれは、私は端末にデータを送信してから、端末の回答をファイルに書き込むためです。 – Akiam

+0

私はそれを解決しました。私の計算では、router.postの外側に新しいObjectを作成しました。 助けを求めるty – Akiam

+0

ニース!あなたがそれを理解してうれしい! –