var $ = require('jquery');
$.ajax({
type:"GET",
dataType: 'html',
url: 'http://www.google.com/',
success: function(res){
console.log(res);
}
});
我在控制台中收到此错误:
XMLHttpRequest cannot load http://www.google.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
我该怎么做才能避免此错误?请帮忙。
答案 0 :(得分:1)
您无法发送跨域请求,因为它是一个安全漏洞。
答案 1 :(得分:0)
因为google.com没有启用跨源请求。如果你尝试一个类似的网站:
$.ajax({
type:"GET",
dataType: 'html',
url: 'https://cors-test.appspot.com/test',
success: function(res){
console.log(res);
}
});
然后您将获得所需的结果
答案 2 :(得分:0)
我认为这是因为在获取另一个域时存在安全问题。 请检查这个 的 "No 'Access-Control-Allow-Origin' header is present on the requested resource" 强>
答案 3 :(得分:0)
如果你控制后端,你可以将这个请求代理到后端,即使用PHP:
// get.php
echo file_get_contents($_GET['url']);
// frontend JS
$.ajax({
type:"GET",
dataType: 'html',
url: '/get.php?url=http://www.google.com/',
success: function(res){
console.log(res);
}
});
PHP将能够获取数据,因为它不会检查CORS。