AZURE Mobile Service在表插入脚本中转发POST请求

我正在尝试使用Azure移动服务在空数据表上处理/处理GET和POST请求。 (真的只是使用移动服务作为通过)作为这一部分,我试图转发请求到另一个url,并收到回应,并通过移动服务返回它。 我已经find了下面显示的G​​ET部分,但是我遇到了POST部分的麻烦。

GET部分:(which works)

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需要一个包含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而不是表格,您也可以在其中应用逻辑而不在其后面有任何(空)表格。

 function insert(item, user, request) { var p = request.parameters; require('request').post({ uri : 'http://someURL/', headers : {'Content-Type': 'application/json'}, body : JSON.stringify(item) }, function(err, res, body){ if (err) { request.respond(500, "INTERNAL SERVER ERROR"); } else { request.respond(200,"Success"); } }); }