2017-03-31 70 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) 

當我送,我得到這個錯誤在阿賈克斯:

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

你應該考慮增加一個錯誤回調('錯誤:功能(錯誤){}')到您的Ajax請求,並可能使用'的console.log()'顯示在控制檯中的錯誤。您的數據可能存在服務器端的錯誤,您無法捕獲它。 – Nicolas

+0

也,你不需要命名你的成功回調函數; '成功:函數(數據){}'工作正常 – Nicolas

+0

你確定響應是JSONP嗎?如果你檢查控制檯的錯誤,你會希望看到一些信息,這將有助於你調試問題 –

回答

0

你不能這樣做使用JSONP一個POST作爲數據類型。你只能做一個HTTP/GET。如果您有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(); 
}); 
相關問題