PUT-запросы не работают на стороне сервера (узел js) - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь сделать запрос PUT в узле JS, чтобы обновить поле «значение». Вот мой код:

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

Если я отправлю тот же запрос на стороне клиента (поместив сценарий на простую веб-страницу), значение изменится, поэтому кажется, что введенная информация правильно отформатирована.

У кого-нибудь были подобные проблемы (в Zendesk или нет) при отправке запроса PUT от Node JS, и он может указать мне правильное направление?

Примечание: [Zendeskdomain], [ID пользователя] & [Identity ID] не имеют к этому отношения, поэтому я удалил их, однако они правильно введены в сценарий.

Спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Вы находитесь на стороне сервера, не используйте XMLHttpRequest, это функция на стороне клиента javascript ...

Используйте пакет как запрос: https://www.npmjs.com/package/request

Затем просто выполните:

request({
  method: "PUT",
  uri: "http://sdfsfdsdf",
  json: body
 }, function(err, response, body){
    ....
});
...