Nodejs中的Soap webservice抛出“发送后无法设置标头”。错误

时间:2017-07-19 17:22:49

标签: node.js

Nodejs代码:

router.post('/getdata', function(req, res) {
   xmlhttp.open('POST', webserviceurl, true);

   xmlhttp.onreadystatechange = function () {
     if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
          var xmlString = xmlhttp.responseText;

          parser.parseString(xmlString, function(err, xmlresult){
            if(err) throw err
            res.send({result:xmlresult}); 
          });   
        }
     }  //return false;
   }
   // Send the POST request

   xmlhttp.setRequestHeader('Content-Type', 'text/xml');
   xmlhttp.send(args);
});

Jquery代码:

function getWebservicedata(){
    $.ajax({
      type: 'POST',
      data: {id:userid},
      url: '/getdata',
      dataType: 'JSON'
    }).done(function( data ) {
       console.log(data)
    });

}

在将node.js的结果发送到Ajax时,它将抛出Can't set headers after they are sent错误,因为XML请求使用一个send()函数,而node.js再使用一个send()函数。

Send()函数存在冲突并抛出错误。

0 个答案:

没有答案