在向isbndb服务器发出请求时,this.responseXML无效

时间:2013-03-29 18:17:00

标签: node.js xmlhttprequest

我正在开发一个应用程序,我正在尝试在nodejs和express中执行xmlhttp请求但是我的responseXML无法正常工作并且它什么也没有返回..这是我的代码: -

var XMLHttpRequest=require("xmlhttprequest").XMLHttpRequest;
var xml2js=require("xml2js");


var xhr=new XMLHttpRequest();

xhr.onreadystatechange=function(){

    console.log("State:"+this.readyState);

    if(this.readyState==4){


        var result=this.responseXML;
        console.log(result);


    }

};

xhr.open("GET","http://isbndb.com/api/books.xml?access_key=QMMEUNJB&results=prices&index1=isbn&value1=0061031321");
xhr.setRequestHeader('Content-type', 'text/xml');

xhr.send();

输出结果为: -

Output:-
State:1
State:1
State:2
State:3
State:4

在State:4

之后返回一个空行

1 个答案:

答案 0 :(得分:1)

xmlhttprequest包没有(当前)支持XML - 请参阅https://npmjs.org/package/xmlhttprequest的底部

您已经包含xml2js库,但您的代码似乎没有在任何地方使用它。尝试替换

var result=this.responseXML;
console.log(result);

用这个:

xml2js.parseString(this.responseText, function (err, result) {
    console.dir(result);
});