开发者

XMLHttpRequest.responseText doesnt write the value when calling a URL

There may be a small error in my code. please advice me.

I want to call a URL and display the value in div on pageload.I wrote this code from SO but the responseText doesnt write the value in the div element's innerhtml

Code

<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", "www.example.com/Default.aspx?usrname=john",true);
req.onreadystatechange = function () {
    document.getElementById('divTxt').innerHTML = "My Status: " + req.responseText;
}

req.send(null);
</script>
 <html>
 <head/>
 <body>
 <div id="divTxt"></div></body>
 </html>

The output I get is

My status :

PS: I want this to be done after pageload and The url returns a value "online开发者_开发技巧" when called manually

EDIT This is the code I referred : code


You cannot ajax a url from another domain unless it has implemented CORS

If you need to get data from somewhere which is not same origin you need to use JSONP

Also to debug, try calling the url from the locationbar to see if you receive valid data for your request


req.onreadystatechange = function () { document.getElementById('divTxt').innerHTML = "My Status: " + req.responseText; }

you have to check, if the request was successful:

if (req.readyState === 4) { // what should be done with the result }

finally, it has to look like this:

req.onreadystatechange = function () {
if (req.readyState === 4) {
document.getElementById('divTxt').innerHTML = "My Status: " + req.responseText;
}
}

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜