如何在 node.js 的帮助下发送 xml post 参数
How to send xml post params with the help of node.js
正在尝试通过节点 js post XML 数据跟随 url:-
var request = require("request");
var utf8 = require('utf8');
var abc = '<ENVELOPE><HEADER><TALLYREQUEST>Export Data</TALLYREQUEST></HEADER><BODY><EXPORTDATA><REQUESTDESC><REPORTNAME>Stock Summary</REPORTNAME><STATICVARIABLES><EXPLODEFLAG>Yes</EXPLODEFLAG><SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT><ACCOUNTTYPE>All Inventory Masters</ACCOUNTTYPE></STATICVARIABLES></REQUESTDESC></EXPORTDATA></BODY></ENVELOPE>';
request.post({
url:"http://192.168.1.148",
port: 9000,
method:"POST",
headers:{
'Content-Type': 'application/xml',
},
body: abc
},
function(error, response, body){
console.log(response.statusCode);
console.log(body);
console.log(error);
});
但是解释器显示以下错误:-
console.log(response.statusCode);
^
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (C:\Users\bliscar\prog10.js:18:25)
at self.callback (C:\Users\bliscar\node_modules\request\request.js:198:22)
at Request.emit (events.js:107:17)
at Request.onRequestError (C:\Users\bliscar\node_modules\request\request.js:
861:8)
at ClientRequest.emit (events.js:107:17)
at Socket.socketErrorListener (_http_client.js:271:9)
at Socket.emit (events.js:107:17)
at net.js:459:14
at process._tickCallback (node.js:355:11)
无法找出问题所在。请帮忙解决
响应未定义。
这通常发生在服务器没有响应请求时。
试试这个:-
var request = require("request");
var utf8 = require('utf8');
var abc = '<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>1</STATUS>
</HEADER>
</ENVELOPE><ENVELOPE><HEADER><TALLYREQUEST>Export Data</TALLYREQUEST></HEADER><BODY><EXPORTDATA><REQUESTDESC><REPORTNAME>Stock Summary</REPORTNAME><STATICVARIABLES><EXPLODEFLAG>Yes</EXPLODEFLAG><SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT><ACCOUNTTYPE>All Inventory Masters</ACCOUNTTYPE></STATICVARIABLES></REQUESTDESC></EXPORTDATA></BODY></ENVELOPE>';
request.post({
url:"http://192.168.1.148",
port: 9000,
method:"POST",
headers:{
'Content-Type': 'application/xml',
},
body: abc
},
function(error, response, body){
console.log(response.statusCode);
console.log(body);
console.log(error);
});
基本上在您的 xml 中添加计数的版本控制。它不会显示任何错误并且 xml 将被同步
正在尝试通过节点 js post XML 数据跟随 url:-
var request = require("request");
var utf8 = require('utf8');
var abc = '<ENVELOPE><HEADER><TALLYREQUEST>Export Data</TALLYREQUEST></HEADER><BODY><EXPORTDATA><REQUESTDESC><REPORTNAME>Stock Summary</REPORTNAME><STATICVARIABLES><EXPLODEFLAG>Yes</EXPLODEFLAG><SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT><ACCOUNTTYPE>All Inventory Masters</ACCOUNTTYPE></STATICVARIABLES></REQUESTDESC></EXPORTDATA></BODY></ENVELOPE>';
request.post({
url:"http://192.168.1.148",
port: 9000,
method:"POST",
headers:{
'Content-Type': 'application/xml',
},
body: abc
},
function(error, response, body){
console.log(response.statusCode);
console.log(body);
console.log(error);
});
但是解释器显示以下错误:-
console.log(response.statusCode); ^ TypeError: Cannot read property 'statusCode' of undefined at Request._callback (C:\Users\bliscar\prog10.js:18:25) at self.callback (C:\Users\bliscar\node_modules\request\request.js:198:22) at Request.emit (events.js:107:17) at Request.onRequestError (C:\Users\bliscar\node_modules\request\request.js:
861:8) at ClientRequest.emit (events.js:107:17) at Socket.socketErrorListener (_http_client.js:271:9) at Socket.emit (events.js:107:17) at net.js:459:14 at process._tickCallback (node.js:355:11)
无法找出问题所在。请帮忙解决
响应未定义。 这通常发生在服务器没有响应请求时。
试试这个:-
var request = require("request");
var utf8 = require('utf8');
var abc = '<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>1</STATUS>
</HEADER>
</ENVELOPE><ENVELOPE><HEADER><TALLYREQUEST>Export Data</TALLYREQUEST></HEADER><BODY><EXPORTDATA><REQUESTDESC><REPORTNAME>Stock Summary</REPORTNAME><STATICVARIABLES><EXPLODEFLAG>Yes</EXPLODEFLAG><SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT><ACCOUNTTYPE>All Inventory Masters</ACCOUNTTYPE></STATICVARIABLES></REQUESTDESC></EXPORTDATA></BODY></ENVELOPE>';
request.post({
url:"http://192.168.1.148",
port: 9000,
method:"POST",
headers:{
'Content-Type': 'application/xml',
},
body: abc
},
function(error, response, body){
console.log(response.statusCode);
console.log(body);
console.log(error);
});
基本上在您的 xml 中添加计数的版本控制。它不会显示任何错误并且 xml 将被同步