@carlo.***merata
В Node.js для отправки запросов в формате JSONP можно использовать библиотеку request-jsonp
.
Пример использования:
1
|
npm install request-jsonp |
1 2 3 4 5 6 7 8 9 |
const requestJsonp = require('request-jsonp'); requestJsonp('http://example.com/data?callback=parseData', {param: 'value'}, function (err, res, body) { if (err) { console.error(err); } else { console.log(body); } }); |
Здесь http://example.com/data
- URL-адрес запроса, callback=parseData
- имя JSONP-функции, которую сервер должен вернуть, и {param: 'value'}
- параметры запроса в виде объекта.
В функции обратного вызова можно обработать результат запроса.
Например, если сервер вернул JSONP-ответ вида parseData({data: 'value'})
, то можно извлечь данные следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
const parseData = function(data) { console.log(data); // {data: 'value'} } const callback = function(err, res, body) { if (err) { console.error(err); } else { const script = body.substring(body.indexOf('(') + 1, body.lastIndexOf(')')); const data = JSON.parse(script); parseData(data); } } requestJsonp('http://example.com/data?callback=parseData', {param: 'value'}, callback); |
Здесь parseData
- это функция, которая будет вызвана при получении ответа от сервера. В функции обратного вызова callback
извлекается содержимое JSONP-ответа и передается в функцию parseData
.