我有一个javascript函数,可以生成ajax get请求。这是一个遗留应用程序,我只能做我能做的事情。我不能使用jquery。
正如您所看到的,我正在使用scriptlet来访问请求范围中的对象。我试图提醒scriptlet返回的值,但我一直在
未捕获的ReferenceError:谷歌未定义
“google”是scriptlet返回的值,它是预期/正确的值。
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);
}
正如您在我的调试控制台下图所示,alert()内的值正确评估为“google.com”
答案 0 :(得分:1)
您正在尝试警告字符串,但您的代码认为它是一个变量,从而导致“未定义”错误。你需要用引号括起你的答案:
alert("google.com");
答案 1 :(得分:1)
问题是window.alert
方法需要一个字符串,并且你为它传递了一个未定义的值。浏览器会尝试查找全局变量google
,并将一个属性命名为google
,名为com
,因此无法找到,并且会抛出错误。
你想要的是提醒字符串'google.com'
,所以你需要引号:
alert('<%=((DynaActionForm) request.getAttribute("ipacForm")).get("url").toString() %>');