簡體   English   中英

為什么我的瀏覽器在這里說“未捕獲的參考錯誤”?

[英]Why does my browser say “uncaught referenceerror” here?

我只是在瀏覽器中進行一些測試,以了解發生了什么-直到這一行,一切似乎都可以正常工作:

responseJson = JSON.parse(localReq.responseText);

當我評估這部分時:JSON.parse(localReq.responseText); 我得到適當的價值。 但是,當我評估“ responseJson”時,它給了我一個未捕獲的參考錯誤,我不知道為什么。

function login()
{
   userName = document.getElementById("_name").value;
   password = document.getElementById("_password").value;
   data = "userName=" + userName + "&" + "password=" + password;
   localReq = new XMLHttpRequest();

   localReq.open("POST", "http://universe.tc.uvu.edu/cs2550/assignments/PasswordCheck/check.php", true);
   localReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   localReq.send(data);
   response = document.getElementById("_login");

   if (localReq.status == 200)
   {
      responseJson = JSON.parse(localReq.responseText);
   }



}

您需要在AJAX請求上使用事件偵聽器,以通過回調異步處理來自服務器的響應。 通過不這樣做,您正在服務器響應之前檢查響應代碼200

function login(){
   userName = "username";
   password = "password";
   data = "userName=" + userName + "&" + "password=" + password;
   localReq = new XMLHttpRequest();

    // use an event handler here
    localReq.addEventListener("load", function(evt){
        if (localReq.status == 200) {
            responseJson = JSON.parse(localReq.responseText);
            alert("Success: " + localReq.responseText);
        } else {
            alert("Not Success!= :(");
            console.log(localReq);
        }
    });

    localReq.open("POST", "http://universe.tc.uvu.edu/cs2550/assignments/PasswordCheck/check.php", true);
    localReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    localReq.send(data);
}

看到這個jsFiddle: http : //jsfiddle.net/wwsj3r4q/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM