PUT请求不在服务器端(节点js)工作

问题描述 投票:0回答:1

我试图在Node JS中发出一个PUT请求来更新“value”字段。这是我的代码:

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]与此无关,因此我删除了它们,但是它们已在脚本中正确输入。

谢谢!

node.js rest zendesk zendesk-api
1个回答
1
投票

你在服务器端,不使用XMLHttpRequest,它是一个javascript客户端功能...

像请求一样使用包:https://www.npmjs.com/package/request

然后就做:

request({
  method: "PUT",
  uri: "http://sdfsfdsdf",
  json: body
 }, function(err, response, body){
    ....
});
© www.soinside.com 2019 - 2024. All rights reserved.