我正在尝试在Node JS中提出PUT请求以更新“值”字段。这是我的代码:
var identityJson = {};
identityJson.identity = {};
identityJson.identity.value = "+61111111111";
var url = "https://[Zendeskdomain].zendesk.com/api/v2/users/[user ID]/identities/[Identity ID].json";
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState==4 )
{
console.log(this.status)
console.log(this.responseText);
}
}
request.open('PUT', url, true);
request.setRequestHeader("Authorization", "Bearer " + token);
request.setRequestHeader('Content-type', 'application/json');
request.send(JSON.stringify(identityJson));
此脚本返回200作为状态,并像以前一样打印身份。在这种情况下,该值仍为“ +37011111111”
200
{"identity":{"url":"https://[Zendeskdomain].zendesk.com/api/v2/users/[user ID]/identities/[Identity ID].json","id":[Identity ID],"user_id":[user ID],"type":"phone_number","value":"+37011111111","verified":true,"primary":true,"created_at":"2018-09-07T12:24:02Z","updated_at":"2018-09-07T12:24:02Z"}}
如果我在客户端发送相同的请求(将脚本放在一个简单的网页上),该值的确会更改,因此看来输入的信息格式正确。
有人从Node JS提交PUT请求时遇到过类似的问题(无论是否在Zendesk中),可以指出正确的方向吗?
注意:[Zendeskdomain],[用户ID]和[身份ID]与此无关,因此我删除了它们,但已在脚本中正确输入了它们。
谢谢!
答案 0 :(得分:1)
您在服务器端,请勿使用XMLHttpRequest,它是javascript客户端功能...
使用像request这样的包:https://www.npmjs.com/package/request
然后就做:
request({
method: "PUT",
uri: "http://sdfsfdsdf",
json: body
}, function(err, response, body){
....
});