JAVASCRIPT如何获取远程页面内容 20
我的程序思路是想通过XMLHTTPREQUEST方法获取google主页的整个代码,然后用handleStateChange()判断是否加载完毕,完毕后用alert()输...
我的程序思路是想通过XMLHTTPREQUEST方法获取google主页的整个代码,然后用handleStateChange()判断是否加载完毕,完毕后用alert()输出。理想中应该是我点了我做的网页中的按钮后就会出现一个对话框并包含内容,但是我点击按钮后很久很久都没响应,没结果,不知道错在哪里。
网页代码如下:
<html>
<script type="text/javascript">
function simpleExample(url) {
var req = new XMLHttpRequest();
req.open("GET",url,false);
req.send(null);
req.onreadystatechange = handleStateChange;
}
function handleStateChange()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
var res = req.responseText.replace(/\n/g, "").replace(/\r/g, "");
alert(res);
}
}
}
</script>
<body>
<form><button type="button" onclick="simpleExample('http://www.google.cn');">Level 2
Headings</button></form>
</body>
</html>
忘记说了,这个程序是针对火狐的,不是IE。还有2楼的兄弟说的同一目录的文件访问我早已经实现了,目前困难的就是获取远程页面的内容,希望能有高手来解释下跨域访问的问题。 展开
网页代码如下:
<html>
<script type="text/javascript">
function simpleExample(url) {
var req = new XMLHttpRequest();
req.open("GET",url,false);
req.send(null);
req.onreadystatechange = handleStateChange;
}
function handleStateChange()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
var res = req.responseText.replace(/\n/g, "").replace(/\r/g, "");
alert(res);
}
}
}
</script>
<body>
<form><button type="button" onclick="simpleExample('http://www.google.cn');">Level 2
Headings</button></form>
</body>
</html>
忘记说了,这个程序是针对火狐的,不是IE。还有2楼的兄弟说的同一目录的文件访问我早已经实现了,目前困难的就是获取远程页面的内容,希望能有高手来解释下跨域访问的问题。 展开
展开全部
一般来说,浏览器不允许你跨域访问,有时IE好象不能正确定某个IP与某个域名是同一域...也就是说你在你的本机去访问 另一个域名也可以说是 IP 是不行的...所以被拒绝了...你当然就不能等到google.cn的页面代码了...楼主明白了吧!!! 计算机就是这样的..没有什么原因...
楼主可以试一个在这个文件的同一目录中再建另一个文件假设是 : abc.html
楼主把那个 www.google.cn改成 abc.html的地址就可以得到abc.html的页面代码了...这个当然就没有跨域访问喽...呵呵...
祝楼主早日成功!!!!
楼主...跨域是不能访问的...楼主想要什么东西呀???
火狐也是一样的也是不能跨域访问的!!!
楼主可以试一个在这个文件的同一目录中再建另一个文件假设是 : abc.html
楼主把那个 www.google.cn改成 abc.html的地址就可以得到abc.html的页面代码了...这个当然就没有跨域访问喽...呵呵...
祝楼主早日成功!!!!
楼主...跨域是不能访问的...楼主想要什么东西呀???
火狐也是一样的也是不能跨域访问的!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先onreadystatechange属性应该在open函数执行之前指定
否则如果浏览器速度太快或者网速太快就可能永远收不到结果。
其次open的异步选项最好设成true,因为现在浏览器用的都是标签页,设成false会使得其他标签页都停止载入。
还有status大于200小于300或者是304或者为空时都意味这请求成功
否则如果浏览器速度太快或者网速太快就可能永远收不到结果。
其次open的异步选项最好设成true,因为现在浏览器用的都是标签页,设成false会使得其他标签页都停止载入。
还有status大于200小于300或者是304或者为空时都意味这请求成功
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用哪个版本的IE测试的?
ie7 之前的版本需要 var req = new ActiveXObject("Msxml2.XMLHTTP");
ie7 之前的版本需要 var req = new ActiveXObject("Msxml2.XMLHTTP");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询