我需要将从ajax发送到nodejs的数据。 这是AJAX方面:
$.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 :(得分: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();
});
答案 1 :(得分:0)
尝试使用以下代码:
$.ajax({
url: "/a",
type:"POST",
data: { id: "2" },
dataType: 'json',
contentType: "application/json",
success: function fun(json) {
console.log(JSON.stringify(json));
}
})