我正在尝试使用 fetch API 获取页面的 HTML。这是我的代码。
var quizUrl = 'http://www.lipsum.com/';
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'text/html');
fetch(quizUrl,{
mode: 'no-cors',
method: 'get',
headers: myHeaders
}).then(function(response) {
response.text().then(function(text) {
console.log(text);
})
}).catch(function(err) {
console.log(err)
});
它返回空字符串。任何猜测为什么它不起作用?
原文由 Pankaj Phartiyal 发布,翻译遵循 CC BY-SA 4.0 许可协议
关于
Request.mode
'no-cors'
(来自 MDN,强调我的)所以这将启用请求,但会使响应为
opaque
,即,除了知道目标在那里之外,您将无法从中得到任何东西。由于您正在尝试获取跨源域,因此除了代理路由之外别无他法。
PS:这是一个片段,向您展示请求确实是不透明的: