2015-10-05 289 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() %>'); 
相关问题