[英]HttpRequest Node.js “Cannot set property 'UNSENT' of undefined”
我有一个问题,当我尝试运行一个简单的 http 请求时,我总是收到一条错误消息。
无法设置未定义的属性“UNSENT”
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
XMLHttpRequest('https://example.firebaseio.com/.json',
function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body);
}
}
);
我该如何解决这个问题?
我建议您使用标准的内置 NodeJS 方法:
这段代码:
var http = require('http');
http.get('http://nodejs.org/dist/index.json', (res) => {
const statusCode = res.statusCode;
const contentType = res.headers['content-type'];
let error;
if (statusCode !== 200) {
error = new Error(`Request Failed.\n` +
`Status Code: ${statusCode}`);
} else if (!/^application\/json/.test(contentType)) {
error = new Error(`Invalid content-type.\n` +
`Expected application/json but received ${contentType}`);
}
if (error) {
console.log(error.message);
// consume response data to free up memory
res.resume();
return;
}
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => rawData += chunk);
res.on('end', () => {
try {
let parsedData = JSON.parse(rawData);
console.log(parsedData);
} catch (e) {
console.log(e.message);
}
});
}).on('error', (e) => {
console.log(`Got error: ${e.message}`);
});
取自这里
这将起作用。
var req = new XMLHttpRequest()
req.open('GET',url)
req.onload = function(){
if(req.status==200){
console.log(req.responseText)
}
else{
console.log(req.statusText)
}
}
req.onerror = function()
{
console.log('Network Error')
}
req.send()
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.