2017-07-06 66 views
-3

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)。檢查你的控制檯。 –

回答

0

當您設置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

0

你需要改變你的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