使用jquery将数据发送到节点应用程序

时间:2016-08-19 11:06:25

标签: jquery node.js express

我是node / express js的新手,并且拥有一个提供index.html

的简单app

在那个html中,这给了我一个404未找到的错误

$.ajax({
       type: 'POST',
       url: url + "/json/addData'",
       contentType: 'application/json',
       data: {"app" : JSON.stringify("ID=10")},
       cache: false,
       success: function (result) { console.log(result); }
});

但这很好用

http://localhost:8081/api/json/addData?id=10

在Express应用程序实例中运行此函数

app.get('/api/json/addData/', function (req, res) {
   console.log(req.query.id);
   res.send("Success");
});

将功能更改为app.post时,我仍然得到404。 更改ajax时再次得到404错误

将javascript对象(或它的值)发布到节点应用程序以及如何接收它的正确方法是什么?

抱歉这个菜鸟问题。到目前为止,所有搜索都没有给我带来任何效果

1 个答案:

答案 0 :(得分:0)

您需要发布正确的api url并将正确的参数作为查询发送到数据中,其中param为id且值为10。

$.ajax({
       type: 'POST',
       url: "http://localhost:8080/api/json/addData'",
       contentType: 'application/json',
       data: {"id" : "10"},
       cache: false,
       success: function (result) { console.log(result); }
});

你需要一个中间件来解析app.post中的params。这是一个身体解析器

npm install --save body-parser

使用

var bodyParser = require('body-parser')
app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
})); 

app.use(express.json());       // to support JSON-encoded bodies
app.use(express.urlencoded()); // to support URL-encoded bodies

app.post('/api/json/addData/', function (req, res) {
   console.log(req.query.id);
   res.send("Success");
});