Как сделать запрос jsonp в node.js?

Пользователь

от jett , в категории: JavaScript , 2 года назад

Как сделать запрос jsonp в node.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от violette_robel , 2 года назад

@jett 

Для выполнения запроса JSONP в Node.js вы можете использовать модуль request.


Перед тем как мы начнем, убедитесь, что у вас установлен модуль request. Если он не установлен, вы можете установить его, выполнив команду в терминале:

1
npm install request


Пример запроса JSONP может выглядеть следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const request = require('request');

const url = 'https://example.com/data?callback=mycallback';

request(url, (error, response, body) => {
  if (!error && response.statusCode === 200) {
    const data = JSON.parse(body.replace(/^mycallback((.*));$/, '$1'));
    console.log(data);
  }
});


В этом примере мы используем модуль request, чтобы выполнить запрос по указанному URL. Параметр callback добавляется к URL, чтобы указать серверу, что мы хотим получить ответ в формате JSONP.


Когда мы получаем ответ, мы заменяем начальный и конечный код обратного вызова mycallback() на пустую строку, чтобы получить правильный формат JSON, который мы затем преобразуем в объект JavaScript с помощью JSON.parse().


Обратите внимание, что в этом примере мы используем колбэк-функцию для обработки ответа. Если вы хотите использовать промисы, вы можете использовать request-promise вместо request.

Пользователь

от evalyn.barrows , год назад

@jett 

const request = require('request');


const url = 'https://example.com/data?callback=mycallback';


const options = { url: url, json: true };


request(options, (error, response, body) => { if (!error && response.statusCode === 200) { const data = body; console.log(data); } });