0

当尝试在回调方法的帮助下总是出错但总是出错并尝试在 NodeJS 的 POST HTTP 方法中调用 API 时,尝试了所有解决方案但一无所获。

exports.createWallet = function(user_id, password, callback) {

var api_code = config.blockchain.api_code;
var user = user_id;
var pwd = password;

var result;

const post_data = JSON.stringify({
    'api_code': api_code,
    'password': pwd,
    'user_id': user
});

const options = {

    hostname: 'localhost',
    port: 8586,
    path: '/api/v2/create',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(post_data)
    }
};

var request = https.request(options, function (response) {
});

request.on('error', function (error) {

    console.log(error);
});

// With http.request() one must always call request.end() to signify the end of the request - even if there is no data being written to the request body.
request.end();
};
{ Error: socket hang up

    at TLSSocket.onHangUp (_tls_wrap.js:1120:19)
    at Object.onceWrapper (events.js:293:19)
    at emitNone (events.js:91:20)
    at TLSSocket.emit (events.js:188:7)
    at endReadableNT (_stream_readable.js:975:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9) code: 'ECONNR
ESET' }
4

2 回答 2

0

//只使用不使用https并在路径中传递参数

var http = require("http");     
const options = {

    hostname: 'localhost',
    port: 8586,
    path: '/api/v2/create?api_code='+api_code+'&password='+pwd+'&user_id='+user,
    method: 'POST',
};

var request = http.request(options, function (response) {

}
于 2018-04-24T20:34:45.793 回答
0

在选项中,尝试添加body: post_data

于 2018-04-22T20:28:27.480 回答