我正在嘗試對GitHub的API進行API調用。XMLHttpRequest在瀏覽器中工作,但不在節點中
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.github.com/search/users?q=mohamed3on");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.response);
}
}
xhr.send();
此代碼在瀏覽器中運行時執行並返回JSON文件。
{ 「TOTAL_COUNT」:1, 「incomplete_results」:假, 「項目」:[ { 「登錄」: 「Mohamed3on」, 「ID」:12295159, 「avatar_url」: 「https://avatars.githubusercontent.com/u/12295159?v=3」 , 「gravatar_id」: 「」, 「URL」: 「」, 「html_url」: 「https://github.com/Mohamed3on」, 「followers_url」: 「https://api.github.com/users/Mohamed3on/followers」, 「following_url」: 「https://api.github.com/users/Mohamed3on/following {/ other_user}」, 「gists_url」:「https://api.github.com/users/Mohamed3on/gists {/ gist_id}」, 「starred_url」:「https://api.github.com/users/Mohamed3on/starred {/所有者} {/回購}」, 「subscriptions_url」: 「https://api.github.com/users/Mohamed3on/subscriptions」, 「organizations_url」: 「https://api.github.com/users/Mohamed3on/orgs」, 「repos_url」: 「https://api.github.com/users/Mohamed3on/repos」, 「events_url」: 「https://api.github.com/users/Mohamed3on/events {/隱私}」 , 「received_events_url」: 「https://api.github.com/users/Mohamed3on/received_events」, 「類型」: 「用戶」, 「site_admin」:假, 「得分」:49.68772 }]}
然而,當我運行在本地( Webstorm或Node)
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.github.com/search/users?q=mohamed3on");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.response);
}
}
xhr.send();
在控制檯中沒有輸出任何內容。
永遠不要做同步請求,它被棄用,並且一個可怕的做法,使用'onreadystatechange'回調 – charlietfl
@charlietfl好的,我已經做到了。但它仍然不會在節點中產生輸出。 –
爲什麼在節點中使用'XMLHttpRequest'?有更好的庫進行請求 – charlietfl