可能重复:
XMLHttpRequest.responseText doesnt write the value when calling a URL
我已经在javascript和jquery中编写代码来调用URL并通过引用here和here获取返回值。
但是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://
**
答案 0 :(得分:2)
答案 1 :(得分:0)
你做错了几件事。
首先,您将覆盖您的req变量(您可以在顶部为不同的浏览器初始化)。所以,删除这一行:var req = new XMLHttpRequest();
接下来,您正在调用与您的域名不同的域名,而AJAX安全性不会让您这样做。你也忘了包含http://但是除了这一点,因为你不允许离开你自己的域,最后你要调用onReadyState更改但是没有注意到readyState将经历几个阶段。你正在寻找第4阶段来实际做点什么。