![](/img/trans.png)
[英]make a javaScript call to consume REST API running on localhost
[英]Cannot call API by JavaScript from localhost
我試圖從API中提取數據並在HTML頁面中顯示獲取的數據。 我的問題是我實際上無法訪問API數據,因為狀態為0
且statusText
為空。 我用XAMPP運行我的頁面。
var xmlhttp = new XMLHttpRequest(); var url = "http://swapi.co/api/people/1"; xmlhttp.open("GET", url, true) xmlhttp.send() xmlhttp.onreadystatechange=function(response) { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { myFunction(xmlhttp.responseText); } } console.log(xmlhttp.status) console.log(xmlhttp.statusText) function myFunction(response) { var arr = JSON.parse(response); var i; var out = "<table>"; for(i = 0; i < arr.length; i++) { out += "<tr><td>" + arr[i].name + "</td><td>" + arr[i].films + "</td><td>" + arr[i].gender + "</td></tr>"; } out += "</table>"; document.getElementById("id01").innerHTML = out; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>swapi</title> </head> <body> <div id="id01"></div> </body> </html>
問題可能是您只在發送請求后才附加處理程序。 嘗試:
var xmlhttp = new XMLHttpRequest();
var url = "http://swapi.co/api/people/1";
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(response) {
console.log(xmlhttp.status);
console.log(xmlhttp.statusText);
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
};
xmlhttp.send();
由於你在jQuery中使用backbone,你可以使用$.get()
:
$.get("http://swapi.co/api/people/1").done(myFunction);
請注意, textStatus
將是傳遞給myFunction
的第二個參數。 如果這是一個問題,你可以做:
$.get("http://swapi.co/api/people/1").done(function(data,textStatus){
myFunction(textStatus);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.