Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么是res.writehead和res.write的hapi等价物?_Javascript_Node.js_Express_Hapijs_Reply - Fatal编程技术网

Javascript 什么是res.writehead和res.write的hapi等价物?

Javascript 什么是res.writehead和res.write的hapi等价物?,javascript,node.js,express,hapijs,reply,Javascript,Node.js,Express,Hapijs,Reply,我正在使用ccavenue npm模块将支付网关集成到我的网站中。 该模块的问题在于,它使用res.write和res.writehead,而传递给模块的res变量是由hapi生成的,因此产生错误。那么,hapi与res.writehead和res.write的等价物是什么呢 这是我的hapi代码: var ccavenue = require('ccavenue'); ccavenue.setMerchant("******"); ccavenue.setWorkingKey("******

我正在使用ccavenue npm模块将支付网关集成到我的网站中。 该模块的问题在于,它使用
res.write
res.writehead
,而传递给模块的
res
变量是由hapi生成的,因此产生错误。那么,hapi与
res.writehead
res.write
的等价物是什么呢

这是我的hapi代码:

var ccavenue = require('ccavenue');

ccavenue.setMerchant("******");
ccavenue.setWorkingKey("*******************");
ccavenue.setRedirectUrl("/redirect-url");


module.exports = function(plugin, options, next) {

    plugin.route({
        method: 'GET',
        path: '/checkout',
        handler: function(request, reply) {
            var param = {
                billing_cust_address: 'Bangalore',
                billing_cust_name: 'Nitish Kumar'
            };
        ccavenue.setOrderId("8981455644");
        ccavenue.setOrderAmount("1000");
        ccavenue.setOtherParams(param);
        ccavenue.makePayment(reply);
        }
    });

}
这是模块功能:

function makePayment(res) {
    var errors = helper.checkRequiredField(config);
    if(errors.length > 0) {
        throw new Error(errors);    
    }

    var Checksum = helper.getCheckSum(config.merchantId, config.orderAmount, config.orderId, config.redirectUrl, config.workingKey); //This function is to verify 

    var body = "<form method='post' name='checkout' id='checkout' action='https://www.ccavenue.com/shopzone/cc_details.jsp'>" +
          "<input type=hidden name='Merchant_Id' value='" + config.merchantId + "'>" +
          "<input type=hidden name='Amount' value='" + config.orderAmount + "'>" +
          "<input type=hidden name='Order_Id' value='" + config.orderId + "'>" +
          "<input type=hidden name='Redirect_Url' value='" + config.redirectUrl +"'>" +
          "<input type=hidden name='Checksum' value='" + Checksum + "'>" +
          "<input type=hidden name='TxnType' value='A'>" +
          "<input type=hidden name='ActionID' value='TXN'>";

          for(var key in otherParams) {
                body += "<input type=hidden name='"+ key +"' value='" + otherParams[key] + "'>";
          }

          body += "</form><script type='text/javascript'>" +
              "document.getElementById('checkout').submit();" +
          "</script>";

    res.writeHead(200, {
        'Content-Length': Buffer.byteLength(body),
        'Content-Type': 'text/html'
    });

    res.write(body);
    res.end();
}

我假设您使用的是较旧版本的hapi 17.0.0,以便使用html进行回复。此外,本示例教程也会有所帮助
. 哈皮会为你做大部分的工作。如果您想使用节点的res和req http服务器对象,您需要从hapi的内部公开原始请求和响应对象,如raw属性下所述。

谢谢,我需要将
res.write
res.writeHead
替换为
res(body)
Debug: internal, implementation, error 
    TypeError: Uncaught error: res.writeHead is not a function
    at Object.makePayment (/home/satnam-sandhu/Workstation/cuboid.io/servers/web/node_modules/ccavenue/index.js:59:8)
    at Object.plugin.route.handler (/home/satnam-sandhu/Workstation/cuboid.io/servers/web/ccavenue/index.js:21:15)
    at Object.exports.execute.internals.prerequisites.internals.handler.finalize [as handler] (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/handler.js:101:51)
    at /home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/handler.js:32:23
    at internals.Protect.run.finish [as run] (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/protect.js:60:12)
    at exports.execute.finalize (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/handler.js:26:22)
    at each (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/request.js:401:16)
    at iterate (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/node_modules/items/lib/index.js:36:13)
    at done (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/node_modules/items/lib/index.js:28:25)
    at internals.Auth.test.internals.Auth._authenticate (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/auth.js:222:16)
    at internals.Auth.test.internals.Auth.authenticate (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/auth.js:197:17)
    at each (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/request.js:401:16)
    at iterate (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/node_modules/items/lib/index.js:36:13)
    at done (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/node_modules/items/lib/index.js:28:25)
    at /home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/lib/protect.js:50:16
    at wrapped (/home/satnam-sandhu/Workstation/cuboid.io/node_modules/hapi/node_modules/hoek/lib/index.js:875:20)