我正在iphone上创建一个小部件,但我无法从网址获取数据。 在IE上,我可以获取数据。但是,在chrome和iphone上我无法获取数据,但它只显示未定义而不是数据。
function a() {
var url="www.xxx.xxx";
var request = new XMLHttpRequest();
request.open('GET', url, false);
request.send();
xmlDoc = request.responseXML;
}
请帮帮我!!我真的很感激任何答案。
答案 0 :(得分:0)
创建类似下面的函数,以便从服务器接收数据。
request.onreadystatechange = function(){
if(request.readyState == 4){
console.log(request.responseText);
}
}
答案 1 :(得分:0)
请确保您使用相同的来源提出请求。这意味着如果您在www.abc.com网站,那么您可以请求www.abc.com/download/或www.abc.com/site等。但是,如果您请求www.gdb.com,那么它可能会在您的控制台中出现此错误“请求的资源上没有”Access-Control-Allow-Origin“标题。”浏览器出于安全原因阻止此活动。它需要位于同一个域中。
有时尝试使用JQuery。它的API非常易于使用,对执行任务非常有帮助。您需要首先将脚本添加到页面中,如下所示:
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
您可以下载脚本或使用实时版本并链接到上面。
接下来,您可以拨打这样的电话来发出GET请求。观察者在成功时返回数据。这使您的工作变得轻松但请记住您需要从同一个域拨打电话。
$.ajax({
type: "GET",
url: "http://wwww.something.com"
})
.done(function( data ) {
alert(data);
})
.fail( function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
});
了解有关跨站点HTTP请求的更多信息:CORS 这是一个可以帮助您更好地理解的主题:“No 'Access-Control-Allow-Origin'
答案 2 :(得分:-1)
会设置responseType
吗?
发送前请致电request.responseType = 'document';
。