如何使用javascript

时间:2015-07-06 15:27:14

标签: javascript ajax response

我想在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(); 

但它对我不起作用。以下操作是为我页面上的按钮指定的。

1 个答案:

答案 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