Javascript 如何通过URL将数据发布到数据库?

Javascript 如何通过URL将数据发布到数据库?,javascript,postgresql,express,sequelize.js,api-design,Javascript,Postgresql,Express,Sequelize.js,Api Design,我需要为我的应用程序创建一个可以接收单个POST请求的公共API。更具体地说,我需要让用户能够将数据发布到我的数据库中——用户将是另一个开发人员商店,他们将发布大量数据,因此我不能要求他们登录我的网站并开始填写表格。我意识到POST数据通常是通过主体而不是查询参数(这是GET)使用的 然而,我知道很多公共API都是这样做的(例如,如果你查看这个网站并创建一个“飞行规则”,他们会保存你的调用,并在你的参数返回true时返回JSON)。这方面的最佳实践是什么 我目前正在使用Express w/Seq

我需要为我的应用程序创建一个可以接收单个POST请求的公共API。更具体地说,我需要让用户能够将数据发布到我的数据库中——用户将是另一个开发人员商店,他们将发布大量数据,因此我不能要求他们登录我的网站并开始填写表格。我意识到POST数据通常是通过主体而不是查询参数(这是GET)使用的

然而,我知道很多公共API都是这样做的(例如,如果你查看这个网站并创建一个“飞行规则”,他们会保存你的调用,并在你的参数返回true时返回JSON)。这方面的最佳实践是什么

我目前正在使用Express w/Sequelize和PostgresQL


问题:有没有办法通过URI参数发送POST请求,更重要的是,有没有安全的方法?如果没有,用户在不填写表单的情况下将数据发布到我的数据库的最佳方式是什么?

您的客户不需要填写表单,他们可以调用您的
restfulapi
您需要创建restful api服务器

有关restful api客户端,请参见下面的示例

$.ajax({
    type: 'POST',
    url: '/url',
    data:  JSON.stringify({name: 'jonas',"age":30}),
    success: function(data) { 
        alert('success');
       },
    contentType: "application/json",
    dataType: 'json'
});
检查这个

也检查一下这个


为了安全起见,您可以使用
basic auth/digest auth
或任何其他基于您需要的自定义身份验证

问题到底是什么?没有任何http规则规定post请求不能有参数。@joe,那么您需要在GET请求时将数据插入数据库?我编辑了上面的问题。我需要允许用户轻松地将数据(以及大量数据)持久化到我的数据库中@neoDev,…是的,但是您可以在没有安全问题的情况下执行此操作吗?您的API用户可以使用动态填写的表单吗?(例如,
var fd=new FormData();fd.append(…);
)我想是的——我一直在考虑这个想法,而且肯定是迄今为止(据我所知)最好的解决方案。我只是想弄清楚是否可以通过URI安全地实现,但我不确定是否有好的方法。谢谢@KyleLinit将很高兴获得否决投票的理由:)。他想要在数据库中发布而不填写表单的最佳方式。是的,对不起,这里有一些卑鄙的人——我也知道,见上图:)所以我知道,发布数据是通过正文发送的——这是通过正文作为JSON发送的吗?谢谢你的回答,非常彻底!