Javascript 通过指针发送JSON对象
我正在尝试将JSON对象发送到其他人提供的URL。 以下是服务方提供的文件: MyProgramAPI: 终点: 这是一个REST服务,您需要在其中发布JSON,并提供以下详细信息。 以下是您可以发送到服务的JSON对象示例: 请求Json示例:Javascript 通过指针发送JSON对象,javascript,json,node.js,sails.js,Javascript,Json,Node.js,Sails.js,我正在尝试将JSON对象发送到其他人提供的URL。 以下是服务方提供的文件: MyProgramAPI: 终点: 这是一个REST服务,您需要在其中发布JSON,并提供以下详细信息。 以下是您可以发送到服务的JSON对象示例: 请求Json示例: { "aa": "ertewer", "bb": 1, "cc": 10 } 现在我的代码是: var options = { host : 'http://xxx.yyyy.com/yourCompany-servi
{
"aa": "ertewer",
"bb": 1,
"cc": 10
}
现在我的代码是:
var options = {
host : 'http://xxx.yyyy.com/yourCompany-service/rest/myProgram',
format : 'json',
content_type: 'application/json'
} ;
var x = {
"aa" : "ABCD",
"bb" : 1,
"cc" : 10,
}
needle.request('post', options.host, x, function(err, resp) {
if (!err) {
console.log(resp.body) ;
}
if (err) {
console.log('neddle error');
}
}
但我总是从服务器收到以下消息:
服务器拒绝了此请求,因为请求实体的格式不受请求资源的支持
您需要说您将向请求方法发送json。见
Tomas的JSON
needle.request示例没有使用JSON:true
,这一点很模糊;它在数据对象内部使用格式:“json”
。()我使用了格式:“json”和json:true。它们中没有一个起作用。有人有使用Node.js的HTTP模块的解决方案吗?我记得这是可能的,但我目前在互联网上找不到任何软件。@CaseyFalk:这个例子有误导性,实际上是一个get请求,其中format参数仅用作查询参数,如下所示:?format=json user3076730:在这个问题中,您根本没有使用format:json。您所指的只是options.host。如果您手动执行请求(例如使用CURL),服务器是否正确响应?@JohnSterling:“该示例具有误导性”--Right-o,因此“含糊不清”。此外,通过GET请求发送键值对也是发送JSON对象的一种方式。只是为了放大文件的不一致性。在这个问题解决之后,也许它能保证一个拉取请求…@CaseyFalk:是的,你是对的。对不起,我误解了。
needle.request('post', options.host, x, {json:true}, function(err, resp) {
if (!err) {
console.log(resp.body) ;
}
if (err) {
console.log('neddle error');
}
}