2015-10-05 279 views
0

我有一個JavaScript函數,它使ajax獲取請求。這是一個遺留應用程序,我僅限於我能做的事情。我無法使用jquery。未捕獲ReferenceError:未定義

正如您所看到的,我正在使用scriptlet訪問請求範圍中的對象。我想提醒在小腳本返回的值,但我不斷收到

Uncaught ReferenceError: google is not defined

「谷歌」是由這是預期/正確的值小腳本返回的值。

function getLinkAddress(linkClicked){ 
    httpGetUrl("http://www.google.com");  
    alert(<%=((DynaActionForm) request.getAttribute("ipacForm")).get("url").toString() %>); 
}  

function httpGetUrl(theUrl){ 
      var xmlHttp = new XMLHttpRequest(); 
      xmlHttp.open("GET", "?screenName=LinkAddress&buttonName=get", false); 
      xmlHttp.send(null); 
     } 

正如你可以在下面我調試控制檯的圖片中看到,警報內)的值(正確的計算結果爲「google.com」

enter image description here

+2

你忘了引號。它的字符串不是一個變量。 – CodeGodie

回答

1

您正試圖提醒字符串,但你的代碼認爲它是一個變量,從而得到「未定義」的錯誤。你需要圍繞你的答案加上引號:

alert("google.com"); 
+1

謝謝。就是這樣。我會在10分鐘內接受你的回答,之後我將自己淹死。 – Nero

+0

謝謝哈哈。 – CodeGodie

1

的問題是window.alert方法需要一個字符串,你傳遞一個未定義的值吧。瀏覽器會嘗試找到一個全局變量google,並將一個名爲google的屬性命名爲com,所以它不會找到,並且會引發錯誤。

你想要的是提醒字符串'google.com',所以你需要使用引號:

alert('<%=((DynaActionForm) request.getAttribute("ipacForm")).get("url").toString() %>'); 
相關問題