从AJAX向NODEJS应用程序发送数据(发布)时出错

时间:2017-03-31 14:40:23

标签: javascript jquery node.js ajax

我需要将从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 

2 个答案:

答案 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));
  }
})