Javascript 即使已成功接收网页,XMLHttpRequest也不包含网页
可能重复:Javascript 即使已成功接收网页,XMLHttpRequest也不包含网页,javascript,xmlhttprequest,Javascript,Xmlhttprequest,可能重复: 我正在制作一个个人网页,提取彩票强力球号码并显示出来。除了这一链接外,我在其他方面都取得了成功: var xmlHttp = null; xmlHttp = new XMLHttpRequest(); xmlHttp.open( "get", "http://www.powerball.com/powerball/pb_numbers.asp", false ); xmlHttp.send(null); document.body.innerHTML = xmlHttp.resp
我正在制作一个个人网页,提取彩票强力球号码并显示出来。除了这一链接外,我在其他方面都取得了成功:
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "get", "http://www.powerball.com/powerball/pb_numbers.asp", false );
xmlHttp.send(null);
document.body.innerHTML = xmlHttp.responseText;
我检查了xmlHTTP.status,它是0。然而,使用livehttpheaders应用程序,我看到请求被发送了,并且在我端收到页面的地方,我得到了一个成功的HTTP/1.0 200 OK。但是,xmlHTTP对象中没有接收到任何内容。没有响应文本,只有get未初始化的状态0
编辑:我在返回标题中没有看到访问控制允许原点:
指令。如果因为我来自不同的域而受到限制,为什么会出现这种情况?您不能使用XHR。由于请求是以浏览器用户的身份发出的,因此需要对用户进行身份验证,以便检索机密信息(然后可以使用XHR将其复制到您自己的服务器)
请参阅以了解解决方法。我不确定它是如何工作的,也不确定它的功能,但您似乎已经找到了上面关于它为什么不工作的答案。我建议您改用ajax,它很简单,效果也很好 下面是我使用它的一个示例:
var site = $.ajax({
url: "http://google.com",
type: "GET",
dataType: "html",
async: false
}).responseText;
document.body.innerHTML = site;
祝你好运,你的问题就在这里。除非该网站提供了API(即使在技术上它也不是AJAX),否则您将无法使用AJAX从该网站获取任何数据
在某种程度上,你可以通过一个应用程序实现你正在做的事情,但是你必须包含整个页面,而不仅仅是其中的相关部分
如果您需要做的是,那么您将有一些服务器端代理来完成它
一些可能对您有所帮助的工具:
这将不起作用,因为在返回头中有一个-请参阅:我没有“访问控制允许源代码:”选项。如果我受到限制,为什么它不在那里?