在Ajax调用没有响应

问题描述:

Open方法我是新来的JSON和AJAX, 所以我想这一段代码从提到的网址,以获取JSON数据,然后使用AJAX调用我试图打印在控制台,但是没有打印在控制台上。在Ajax调用没有响应

请有人纠正它是什么,我做错了这里,下面是代码片段。

var req = new XMLHttpRequest(); 
 
var btn = document.getElementById("btn"); 
 
var display = document.getElementById("display"); 
 
req.open("GET", "http://www.filltext.com/?rows=10&id={index}&email={email}&username={username}&password={randomString|5}&pretty=true", true); 
 
btn.addEventListener("click",function(){ 
 
req.onreadystatechange = function() { 
 
\t var res = req.responseText; 
 
\t Console.log(res); 
 
}; 
 
}); 
 
req.send();
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Insert title here</title> 
 
</head> 
 
<body> 
 
<h1>Hello</h1> 
 
<Button id= 'btn'>click me</Button> 
 
<div id = 'display'></div> 
 

 
<script>"Test.js"</script> 
 

 
</body> 
 
</html>

+0

您只是在添加“响应事件处理程序”之后点击按钮。到那时,Ajax请求可能已经完成。在您发送请求之前绑定处理程序*。 –

+0

JavaScript是**区分大小写**。它是'console'而不是'Console'。 – Quentin

+0

确保您能够使AJAX调用远程域。可能被阻止由于[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)。检查你的控制台。 –

当您设置req.onreadystatechange BTN事件中只添加回调要求。问题是请求已经完成。您需要通过btn点击发出请求,然后在btn操作中调用send()。的

控制台,而不是控制台

var req = new XMLHttpRequest(); 
 
var btn = document.getElementById("btn"); 
 
var display = document.getElementById("display"); 
 

 
req.open("GET", "http://www.filltext.com/?rows=10&id={index}&email={email}&username={username}&password={randomString|5}&pretty=true", true); 
 
req.onreadystatechange = function() { 
 
    var res = req.responseText; 
 
    console.log(res); 
 
}; 
 

 
btn.addEventListener("click",function(){ 
 
    req.send(); 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="ISO-8859-1"> 
 
<title>Insert title here</title> 
 
</head> 
 
<body> 
 
<h1>Hello</h1> 
 
<Button id= 'btn'>click me</Button> 
 
<div id = 'display'></div> 
 

 
<script>"Test.js"</script> 
 

 
</body> 
 
</html>

+0

仍然没有工作,... – Sarsahan

你需要改变你的JS代码,把一切的块里面,所以它看起来不错:)

var btn = document.getElementById("btn"); 
var display = document.getElementById("display"); 

btn.addEventListener("click", function() { 
    req = new XMLHttpRequest(); 
    req.open("GET", "http://www.filltext.com/?rows=10&id={index}&email={email}&username={username}&password={randomString|5}&pretty=true", true); 
    req.send(); 
    req.onreadystatechange = function() { 
     var res = req.responseText; 
     console.log(res); 
    }; 
}); 
+0

的讽刺“因此它看起来不错”,然后你的代码是非常缩进 - 不是很好! – Jamiec

+0

@Jamiec爱它,在这里你去:)编辑。 –

+0

这可能是不错的居然告诉OP为什么这能解决问题 - 它肯定不是固定的使它看起来不错! – Jamiec