我想在http响应中返回的控制台内容中打印。例如,当我转到https://google.com并在标签网络中,我可以看到脚本,文本,文档,png等内容。我想打印所有.png文件的名称。 我试着用这样的东西:
function hand () {
console.log(this.getResponseHeader('content-type'));
}
var x = new XMLHttpRequest();
x.open('GET', 'https://google.com', true);
x.onreadystatechange = hand;
x.send();
但它对我不起作用。以下操作是为我页面上的按钮指定的。
答案 0 :(得分:1)
跨源请求只是are not allowed by default。远程服务器可以通过CORS或通过支持JSONP等Ajax备选方案为您的应用程序提供权限。
<强>编辑:强>
使用AJAX获取跨域数据的唯一(简单)方法是使用服务器端语言作为Andy E所指出的代理。这里有一个小样本如何使用jQuery实现它:
jQuery部分:
$.ajax({
url: 'proxy.php',
type: 'POST',
data: {
address: 'http://www.google.com'
},
success: function(response) {
// response now contains full HTML of google.com
}
});
这很简单。只要知道你可以做什么或不能用刮擦数据做什么,并且非常清楚这样的代理是一个严重的安全漏洞。至少列出可接受的地址,不要盲目接受任何传递的地址。在这里查看一个不错的代理脚本:PHP Simple Proxy