Как вызвать Restfull API внутри маршрутизатора с помощью Express

Я хочу получить данные по этой ссылке: https://api.rajaongkir.com/starter/cost с помощью express.js.

Я создал веб-сайт одностраничного приложения, используя react.js для интерфейса, поэтому мне нужно вызвать этот маршрут: /shipping/check/cost в моем бэкэнде для получения данных. но я не знаю, как запросить внутреннюю экспресс-доставку маршрутизатора.

Я никогда не делал Restful API с чужого сайта. Я просто скопировал то, что было в документации, но в документации использовал node.js, а не express.js. https://rajaongkir.com/dokumentasi/starter#cost-response

когда я запускаю это, я ничего не получаю.

Мои маршруты

import {Router} from 'express';
import * as ShippingRouter from './controller'

const routes = new Router();

routes.post('/shipping/check/cost',ShippingRouter.checkCost);

export default routes;

Контроллер

import db from '../../config/conn';
import keys from '../../config/keys';
import jwt from 'jsonwebtoken';
import qs from 'querystring';
import request from 'request';
export const checkCost =(req,res)=>{
    var options = {
        "method": "POST",
        "hostname": "api.rajaongkir.com",
        "port": null,
        "path": "/starter/cost",
        "headers": {
            "key": "mykey",
            "content-type": "application/x-www-form-urlencoded"
        }
    };
   var reqCost= https.request(options,function(ress){
       var chunks = [];

       ress.on("data", function (chunk) {
           chunks.push(chunk);
       });

       ress.on("end", function () {
           var body = Buffer.concat(chunks);
           res.json(body.toString());
       });
    })
    reqCost.write(qs.stringify({
        origin: '501',
        destination: '114',
        weight: 1700,
        courier: 'jne'
    }));
    reqCost.end();


}

Вы не показываете, где вы вызываете API? Кроме того, уточните, пожалуйста, "я ничего не получаю" - у вас нет данных? Вы не получаете сетевой запрос? У вас нет ошибки? и Т. Д.

James 27.01.2019 14:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
66
1

Ответы 1

Первое, что я хотел бы проверить, это правильность используемого HTTP-глагола POST. Вы сказали, что хотите получить данные из API, в этом случае вы должны использовать GET вместо POST (дополнительную информацию см. в документации по API).

Кроме того, пожалуйста, проверьте этот репозиторий, где я использую экспресс и как я обрабатываю вызовы.

Другие вопросы по теме