下面的代码是使用AJAX请求在我的快速服务器上发送数据。我需要在发送后访问该数据,在我的快速服务器上进行一些操作。我该怎么做呢?
Express Server代码段:
app.get("/time",function(req,res){
client.messages.create({
to: "+1" + req.data.number,
from: '+166**',
body: "This is the ship that made the Kessel Run in fourteen parsecs?",
mediaUrl: "https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg",
});
});
Ajax请求:
$.ajax({url: "/time",
data : { name : 'Justin', number : '662***' }
});
答案 0 :(得分:1)
如果您在谈论服务器中的GET变量:
app.get("/time",function(req,res){
client.messages.create({
to: "+1" + req.params.number, // should be `req.params` instead
from: '+166**',
body: "This is the ship that made the Kessel Run in fourteen parsecs?",
mediaUrl: "https://c1.staticflickr.com/3/2899/14341091933_1e92e62d12_b.jpg",
});
console.log(req.params.name)
console.log(req.params.number)
});
如果您说的是服务器的响应,那么:
$.ajax({
url: "/time",
data : { name : 'Justin', number : '662***' }
}).done(function (response) {
console.log(response)
});
我已经读过这个问题3次了,但仍然无法弄清问题是什么,对不起。
答案 1 :(得分:0)
如果您尝试将数据发送到Express,您可能应该在Ajax调用中使用“POST”方法执行此操作。然后,拥有一条与你所拥有的路线相同的路线,但app.post
。您还应该在“发布”路径之前使用"body-parser"中间件。
所以,你应该在你的服务器上有这样的东西(就我所说的而言):
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/time', (req, res) => {
console.log(req.body); // your data here
})
在你的Ajax调用中,只需添加一个'post'方法。
@joaumg所说的关于req.params的内容也是正确的,但是POST对我来说似乎更正确。您的数据将更安全。