首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用一个URL并获取返回值。Jquery和Javascript都不显示返回值

调用一个URL并获取返回值。Jquery和Javascript都不显示返回值
EN

Stack Overflow用户
提问于 2011-06-07 06:21:35
回答 2查看 5.1K关注 0票数 0

可能重复: XMLHttpRequest.responseText在调用URL时不写入值

我用javascript和jquery编写了代码,通过引用这里和来调用URL并获得返回值。

但是aspx页面的返回值不会显示在我的html文件中。既然我刚接触过javascript和jquery,你能告诉我是否需要回电话作为交叉张贴吗?如果是的话,你能解释一下吗?

Javascript代码是

代码语言:javascript
运行
复制
 <script type="text/javascript" >    
 var req ;
 // Browser compatibility check          
 if (window.XMLHttpRequest) {
 req = new XMLHttpRequest();
 } else if (window.ActiveXObject) {

 try {
 req = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {

 try {
 req = new ActiveXObject("Microsoft.XMLHTTP");
 } catch (e) {}
 }

}


var req = new XMLHttpRequest();
req.open("GET", "http://www.example.com/Default.aspx?usrname=john",true);
req.onreadystatechange = function () {
document.getElementById('divTxt').innerHTML = "My Status: " + req.responseText;
}

req.send(null);
</script>

</script>
<html>
<head/>
<body>
<div id="divTxt"></div></body>
</html>

的输出是:我的状态:

JQuery代码是

代码语言:javascript
运行
复制
 var html = $.ajax({
 url: "http://www.example.com/Default.aspx?usrname=john",
 async: true
 }).responseText;
 document.getElementById('divTxt').innerHTML = "My Status: " + html;

我得到的输出是空白页

PS:我是重新张贴这个问题,因为我的问题以前没有得到正确的回答。

**

>编辑:在我的原始代码中,有

http://

**

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 06:23:12

除非实现了CORS,否则不能从另一个域对url进行ajax。

如果需要从不同来源的地方获取数据,则需要使用JSONP

此外,要调试,请尝试从locationbar调用url,以查看是否收到了请求的有效数据。

票数 2
EN

Stack Overflow用户

发布于 2011-06-07 06:30:25

你做错了几件事。

首先,重写req变量(在顶部为不同的浏览器初始化该变量)。因此,删除这一行: var req =();

接下来,您将调用一个位于与您的域不同的url,AJAX安全将不允许该url。此外,您还忘记了包含http://,但这是另外一点,因为您不允许离开您自己的域,最后,您调用了onReadyState change,但是没有注意到将经历几个阶段的readyState。你在找第四阶段来做些什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6261301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档