我正在尝试使用Azure移动服务来处理/处理空数据表上的GET和POST请求。 (实际上只是将移动服务用作传递)
作为此过程的一部分,我试图将请求转发到另一个URL,并接收回响应,并通过移动服务将其返回。我已经弄清楚了下面显示的GET部分,但是在POST部分遇到了麻烦。
GET部分:(哪个作品)
function read(query, user, request)
{
var p = request.parameters;
var httpRequest = require('request');
var url = 'http://someURL/'+ p.ssoid;
httpRequest.get(url, function(err, response, body)
{
if (err)
{
request.respond(500, "INTERNAL SERVER ERROR");
}
else
{
request.respond(200,JSON.parse(body) );
}
});
}
邮政编码:(不起作用)
function insert(item, user, request)
{
var p = request.parameters;
require('request').post({
uri:'http://someURL/',
headers:{'content-type': 'application/json'},
body:p.body
},function(err,res,body){
if (err)
{
request.respond(500, "INTERNAL SERVER ERROR");
}
else
{
request.respond(200,"Success");
}
});
}
我知道POST需要带有发布信息的正文,但是如何使它向前传递?
最佳答案
在插入时,请求的主体将存储在item
参数中(假设您要传递JSON对象)。因此,您的函数将如下所示:
function insert(item, user, request)
{
var p = request.parameters;
require('request').post({
uri : 'http://someURL/',
headers : {'Content-Type': 'application/json'},
body : item
}, function(err, res, body){
if (err)
{
request.respond(500, "INTERNAL SERVER ERROR");
}
else
{
request.respond(200,"Success");
}
});
}
与此相关的是,如果您将移动服务作为简单的传递使用,则还可以考虑使用自定义API而不是表,在该表中还可以应用逻辑,而无需在表后面添加任何(空)表。
关于node.js - 表的插入脚本中的AZURE移动服务转发POST请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20391368/