Как сделать POST-запрос с заголовками? - PullRequest
0 голосов
/ 16 ноября 2018

Сейчас я пытаюсь сделать запрос на сообщение:

https://aleapisoap.azure -api.net / httpbin / listSearchFields

И мне нужно тело, которое это:

{
  "listSearchFields": {
    "email": "sample"
  }
}

Я пробовал это в почтальоне и работает, но с этим кодом в JavaScript не работает.

$.ajax({
                    url: 'https://aleapisoap.azure-api.net/httpbin/listSearchFields',
                    headers: {
                        'Content-Type':'application/json',
                        'Cache-Control':'no-cache',
                        'Ocp-Apim-Trace':'true',
                        'Ocp-Apim-Subscription-Key':'19f2a7fd474840bfb5fc729cd97b7335'
                    },
                    type: 'POST',
                    dataType: 'jsonp',
                    data: '{"listSearchFields":{"email":"sample"}}',
                    success: function(data){
                    console.log('succes: '+data);
                    }
                });

Это ошибка:

net :: ERR_ABORTED 404 (ресурс не найден)

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018
dataType: 'jsonp',

Запросы JSONP несовместимы с настройкой пользовательских заголовков запросов или выполнением запросов POST.Они работают, внедряя элемент <script> с атрибутом src (который делает запрос GET).

Если вам нужно сделать запрос POST, не используйте его dataType.Вы, вероятно, захотите 'json'.

JSONP - это хак, который использовался для обхода Same Origin Policy до появления CORS.Возможно, вам придется предпринять другие шаги, чтобы обеспечить доступность конечной точки для вашего источника.

0 голосов
/ 16 ноября 2018

Заголовки в вашем вызове $ .ajax () выглядят правильно для меня.Я думаю, что конечная точка listSearchFields не существует в https://aleapisoap.azure -api.net / httpbin / , как вы ожидаете.Сначала проверьте правильность написания - если вы правильно пишете «listSearchFields», вам придется глубже погрузиться, чтобы выяснить, почему он не найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...