【发布时间】:2019-01-27 11:38:11
【问题描述】:
我想使用 express.js 检索此链接中的数据:https://api.rajaongkir.com/starter/cost。
我为前端使用 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 的位置吗?另外,请详细说明“我什么都没有” - 你没有数据?你没有收到网络请求?你没有错误?等
标签: javascript node.js express