XMLHttpRequest 接收未定义
XMLHttpRequest receiving undefined
我正在 iphone 上制作小部件,但无法从 url 获取数据。
在 IE 上,我可以获得数据。但是,在 chrome 和 iphone 上我无法获取数据,但它只显示未定义而不是数据。
function a() {
var url="www.xxx.xxx";
var request = new XMLHttpRequest();
request.open('GET', url, false);
request.send();
xmlDoc = request.responseXML;
}
请帮帮我!!我真的很感激任何答案。
创建一个类似下面的函数,从服务器接收数据。
request.onreadystatechange = function(){
if(request.readyState == 4){
console.log(request.responseText);
}
}
设置 responseType
有用吗?
在发送前调用 request.responseType = 'document';
。
请确保您从同一来源发出请求。这意味着如果您在站点 www.abc.com 中,那么您可以请求 www.abc.com/download/ 或 www.abc.com/site 等等。但是,如果您请求 www.gdb.com 那么它可能会失败,并在您的控制台中显示此错误 "No 'Access-Control-Allow-Origin' header is present on the requested resource." 出于安全原因,浏览器会阻止此 activity。它需要在同一个域中。
有时尝试使用 JQuery。它API非常好用,对做任务很有帮助。您需要先像这样将脚本添加到页面:
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
您可以下载脚本或使用实时版本并像上面那样link。
接下来你可以像这样调用来发出GET请求。成功时观察到它 returns data 。这使您的工作变得简单 ,但请记住您需要从同一域进行调用。
$.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'
我正在 iphone 上制作小部件,但无法从 url 获取数据。 在 IE 上,我可以获得数据。但是,在 chrome 和 iphone 上我无法获取数据,但它只显示未定义而不是数据。
function a() {
var url="www.xxx.xxx";
var request = new XMLHttpRequest();
request.open('GET', url, false);
request.send();
xmlDoc = request.responseXML;
}
请帮帮我!!我真的很感激任何答案。
创建一个类似下面的函数,从服务器接收数据。
request.onreadystatechange = function(){
if(request.readyState == 4){
console.log(request.responseText);
}
}
设置 responseType
有用吗?
在发送前调用 request.responseType = 'document';
。
请确保您从同一来源发出请求。这意味着如果您在站点 www.abc.com 中,那么您可以请求 www.abc.com/download/ 或 www.abc.com/site 等等。但是,如果您请求 www.gdb.com 那么它可能会失败,并在您的控制台中显示此错误 "No 'Access-Control-Allow-Origin' header is present on the requested resource." 出于安全原因,浏览器会阻止此 activity。它需要在同一个域中。
有时尝试使用 JQuery。它API非常好用,对做任务很有帮助。您需要先像这样将脚本添加到页面:
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
您可以下载脚本或使用实时版本并像上面那样link。
接下来你可以像这样调用来发出GET请求。成功时观察到它 returns data 。这使您的工作变得简单 ,但请记住您需要从同一域进行调用。
$.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'