2017-03-31 15 views
0

ajaxからnodejsにデータを送信する必要があります。ここで はAJAX側である:AJAXからNODEJSアプリへのデータ(投稿)のエラー

$.ajax({ 
    type:"POST", 
    url: "http://127.0.0.1:3000/a", 
    data: { id: "2" }, 
    dataType: 'jsonp', 
    contentType: "application/json", 
    success: function fun(json) { 
    console.log(JSON.stringify(json)); 
    } 
}) 

とノードで:

var express = require('express') 
var bodyParser = require('body-parser') 
var app = express() 
app.use(bodyParser.json()) 
var quizzController = require('./quizzController') 

app.post('/a', function (req,rep) { 
    rep.send('ok') 
    console.log(req.body.id) 
}) 
app.listen(3000) 

私が送ったとき、私はAJAX側にこのエラーが表示されます。

GET http://127.0.0.1:3000/a?        callback=jQuery111105826120341114538_1490969686792&id=2&_=1490969686793 
+0

あなたはエラーコールバック(関数(エラー){} ''エラー)を追加することを検討すべきです。あなたのデータにエラーのあるサーバー側があり、それをキャッチしていない可能性があります。 – Nicolas

+0

また、成功コールバック関数に名前を付ける必要はありません。 'success:function(data){}'は正常に動作します – Nicolas

+0

あなたは本当に応答がJSONPですか?コンソールにエラーがないかチェックすると、問題のデバッグに役立つ情報が表示されます。 –

答えて

0

あなたはJSONPを使用してPOSTを行うことはできませんデータ型として。あなたはHTTP/GETだけができます。 CORSに問題がある場合は、サーバー側で原産地間の要求共有を有効にする必要があります。以下のような何か:コンソールでのエラーを表示するには、 ``はconsole.log()を使用して、多分あなたのAJAX要求に、そして:

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(); 
}); 
関連する問題