如何将项目从Node.js发布到Azure SQL Easy Table

我试图访问从本地node.js应用程序(不在Azure上运行)连接到Azure应用程序服务的Azure SQL表。

查询表格方面,我已经取得了一些进展 – 我可以获取任何已连接到应用服务的表格的全部内容,甚至可以对这些数据应用odatafilter。 例如:

var request = require("request"); request({ method:'GET', url:"https://my-service.azure-mobile.net/tables/TodoItem?$filter=complete eq true" },(err,res,body)=>{ console.log(body); }); 

所以从表中请求数据的工作就好了。 但是,根据这些信息 ,我可以相信我也可以发布新的项目。 我已经尝试了很多方法,根本找不到如何向表中添加新logging。 这是我试过的东西:

 request({ method:'POST', url:"https://my-service.azure-mobile.net/tables/TodoItem", json: true, body: JSON.stringify({ text: 'I just posted this', date: new Date(), complete: false }) },(err,res,body)=>{ console.log(body); }); 

这给了我一个“无效的JSON”响应。

那么做一个POST请求插入一个项目到一个简易表的正确方法是什么? 我也想知道如何用PATCH 更新logging

在这里find答案

使用request.post()而不是request({method:'POST',...})

 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"); } }); }