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

时间:2011-06-07 06:21:36

标签: javascript jquery ajax

  

可能重复:
  XMLHttpRequest.responseText doesnt write the value when calling a URL

我已经在javascript和jquery中编写代码来调用URL并通过引用herehere获取返回值。

但是aspx页面的返回值没有显示在我的html文件中。由于我是javascript和jquery的新手,如果我需要回拨作为其交叉发布,你能告诉我吗?如果是的话,你能解释一下吗?

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代码

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

我得到的输出是空白页

PS:我再次问reposting这个问题,因为之前我的问题没有得到妥善回答。

**

&GT;编辑:在我的原始代码中,有

  

的http://

**

2 个答案:

答案 0 :(得分:2)

除非已实施CORS

,否则您无法从其他域获取网址

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

同样要调试,请尝试从位置栏调用网址,看看您是否收到了有关请求的有效数据

答案 1 :(得分:0)

你做错了几件事。

首先,您将覆盖您的req变量(您可以在顶部为不同的浏览器初始化)。所以,删除这一行:var req = new XMLHttpRequest();

接下来,您正在调用与您的域名不同的域名,而AJAX安全性不会让您这样做。你也忘了包含http://但是除了这一点,因为你不允许离开你自己的域,最后你要调用onReadyState更改但是没有注意到readyState将经历几个阶段。你正在寻找第4阶段来实际做点什么。