我的代码:
var req = new XMLHttpRequest();
req.open("GET","http://http://surfkid.redio.de/link.php");
req.send(null);
var textout = var.responseText;
document.write(textout);
Run Code Online (Sandbox Code Playgroud)
在文档上,没有文字.
我做错了什么?
req.open("GET","http://http://surfkid.redio.de/link.php");
Run Code Online (Sandbox Code Playgroud)
有一个虚假的额外http://.在任何情况下,除非当前网页本身是由surfkid.redio.de提供的,否则这将不起作用,因为同源策略,所以假设是这种情况,您不需要在以下位置指定服务器名称所有.(如果不是这种情况,那么你将不得不阅读JSONP.)
是异步XMLHttpRequest.对此请求的回复将不会立即提供; 你必须添加一个事件监听器req.onreadystatechange.
另一种方法是传递一个额外的, false参数open(),以获得同步请求.但是,同步XMLHttpRequest通常被认为是一件坏事,因为它会锁定浏览器UI,直到获取响应为止.
var textout = var.responseText;
Run Code Online (Sandbox Code Playgroud)
你的意思req.
document.write(textout);
Run Code Online (Sandbox Code Playgroud)
document.write通常最好避免.例如,如果在内容完全加载后调用它,则会删除当前文档,如果在异步XMLHttpRequest上使用回调,则会出现这种情况.
更容易编写responseText元素innerHTML(假设响应应该是标记;如果没有创建具有给定文本值的Text节点).
<div id="redio-link"></div>
<script type="text/javascript">
// Fix up missing XMLHttpRequest in IE6. You only need to do this once.
//
if (!window.XMLHttpRequest && 'ActiveXObject' in window) window.XMLHttpRequest= function() {
return new ActiveXObject('MSXML2.XMLHttp');
};
// Fetch link
//
var req= new XMLHttpRequest();
req.onreadystatechange= function() {
if (this.readyState===4)
document.getElementById('redio-link').innerHTML= this.responseText;
};
req.open('GET', '/link.php');
req.send();
</script>
Run Code Online (Sandbox Code Playgroud)