无法在 node.js 内提出请求
Unable to make request in node.js
我在 CCAvenue 的控制器中使用以下代码,但出现错误
TypeError: request.on is not a function
下面是请求的代码
request.on('data', function (data) {
console.log("data is ----------------> " + data);
body += data;
encRequest = ccav.encrypt(body, workingKey);
console.log("Enc request " + encRequest);
formbody = '<form id="nonseamless" method="post" name="redirect" action="https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction"/> <input type="hidden" id="encRequest" name="encRequest" value="' + encRequest + '"><input type="hidden" name="access_code" id="access_code" value="' + accessCode + '"><script language="javascript">document.redirect.submit();</script></form>';
});
request.on('end', function () {
response.writeHeader(200, {
"Content-Type": "text/html"
});
response.write(formbody);
response.end();
});
我使用 var request = require('request')
包含请求
编辑:
request.post("https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction", {
form: {
encRequest: encRequest,
access_code: accessCode
}
},
function (error, response, body) {
console.log(body);
});
我在我的正文中收到一个 html 页面的响应。如何在 sail.js 框架中将其发送回浏览器?
编辑 2:
我也尝试过使用 sails.request 方法,但没有任何反应。
var payReq = {
url: "https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction",
method: "POST",
headers: {
"Content-Type": "text/html"
// "Content-Type": 'application/json'
},
// data : {
// encRequest: encRequest,
// access_code: accessCode
// }
data : `encRequest=${encRequest}&access_code=${accessCode}`
}
sails.request(payReq);
我认为您使用 Request 的方式不正确。您使用的这种模式适用于 HTTP/HTTPS 库。这是一个请求示例。
var request = require('request');
var options = {
url: "https://httpbin.org/ip",
method: "get"
};
console.log('Requesting IP..');
request(options, function (error, response, body) {
if (error) {
console.error('error:', error);
} else {
console.log('Response: Headers:', response && response.headers);
}
});
本机 HTTP 和 HTTPs 库使用 request.on('data' .. 模式。示例如下:
https://www.twilio.com/blog/2017/08/http-requests-in-node-js.html
此页面包含使用 Request、HTTP、Axios 的示例。
我在 CCAvenue 的控制器中使用以下代码,但出现错误
TypeError: request.on is not a function
下面是请求的代码
request.on('data', function (data) {
console.log("data is ----------------> " + data);
body += data;
encRequest = ccav.encrypt(body, workingKey);
console.log("Enc request " + encRequest);
formbody = '<form id="nonseamless" method="post" name="redirect" action="https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction"/> <input type="hidden" id="encRequest" name="encRequest" value="' + encRequest + '"><input type="hidden" name="access_code" id="access_code" value="' + accessCode + '"><script language="javascript">document.redirect.submit();</script></form>';
});
request.on('end', function () {
response.writeHeader(200, {
"Content-Type": "text/html"
});
response.write(formbody);
response.end();
});
我使用 var request = require('request')
编辑:
request.post("https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction", {
form: {
encRequest: encRequest,
access_code: accessCode
}
},
function (error, response, body) {
console.log(body);
});
我在我的正文中收到一个 html 页面的响应。如何在 sail.js 框架中将其发送回浏览器?
编辑 2: 我也尝试过使用 sails.request 方法,但没有任何反应。
var payReq = {
url: "https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction",
method: "POST",
headers: {
"Content-Type": "text/html"
// "Content-Type": 'application/json'
},
// data : {
// encRequest: encRequest,
// access_code: accessCode
// }
data : `encRequest=${encRequest}&access_code=${accessCode}`
}
sails.request(payReq);
我认为您使用 Request 的方式不正确。您使用的这种模式适用于 HTTP/HTTPS 库。这是一个请求示例。
var request = require('request');
var options = {
url: "https://httpbin.org/ip",
method: "get"
};
console.log('Requesting IP..');
request(options, function (error, response, body) {
if (error) {
console.error('error:', error);
} else {
console.log('Response: Headers:', response && response.headers);
}
});
本机 HTTP 和 HTTPs 库使用 request.on('data' .. 模式。示例如下:
https://www.twilio.com/blog/2017/08/http-requests-in-node-js.html
此页面包含使用 Request、HTTP、Axios 的示例。