2014-11-01 54 views
0

你可以幫我解決問題,並通過REST API獲取數據:REST/XMLHttpRequest的使用JavaScript

信息:獲取用戶//此端點返回有關特定用戶的信息。 HTTP請求 - https://www.codewars.com/api/v1/users/:id_or_username

頁是有效的:https://www.codewars.com/api/v1/users/Luqpa

我使用下面的腳本:

function createRequest() { 
      var result = null; 

      result = new XMLHttpRequest(); 

      return result; 
    } 


    var req = createRequest(); // defined above 
     // Create the callback: 
     req.onreadystatechange = function() { 
      if (req.readyState != 4) return; // Not there yet 
      if (req.status != 200) { 
      // Handle request failure here... 
      return; 
      } 
      // Request successful, read the response 
      var resp = req.responseText; 
      // ... and use it as needed by your app. 
    } 

    url = "https://www.codewars.com/api/v1/users/Luqpa"; 

    req.open("GET", url, true); 
    req.send(); 

    var status = req.status; 
    var status_text = req.statusText; 

    var xmlDocument = req.responseXML; 
    console.log(xmlDocument); 
    console.log(status); 
    console.log(status_text); 

    console.log (req); 

所有的反應都是null或0

我曾嘗試過各種possiblities和閱讀其他教程,並沒有找到解決方案。請,建議我如何解決它,並從頁面獲得信息....

在此先感謝。

回答

0

您的代碼對我來說看起來很好,我認爲您正面臨着跨域資源共享問題。

在將以下標誌附加到瀏覽器之後,您測試了嗎?

--disable-web-security --allow-file-access-from-files --allow-file-access 

這些標誌將允許您的程序跨域訪問資源。

只記得這些標誌只適用於開發用途不適用於生產環境。

0

您的req.responseXML爲空,但req.responseText不是。 你有一個JSON格式的答案。 嘗試將responseXML更改爲responseText並查看是否可以幫助您。