2015-10-05 2 views
0

У меня есть функция javascript, которая делает запрос ajax get. Это устаревшее приложение, и я ограничено тем, что я могу сделать. Я не могу использовать jquery.Uncaught ReferenceError: не определено

Как вы можете видеть, я использую скриптлет для доступа к объекту в области запроса. Я пытаюсь предупредить значение, возвращаемое скриптлетом, но я получаю

Uncaught ReferenceError: google is not defined

«Google» это значение, возвращаемое скриптлетом который является ожидаемым/правильным значением.

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

Вы пытаетесь предупредить string, но ваш код думает о своей переменной, получая при этом «неопределенную» ошибку. Вы должны окружить свой ответ цитатами:

alert("google.com"); 
+1

Спасибо. Вот и все. Я отвечу вам ответ через 10 минут, после чего я утону себя сам. – Nero

+0

Спасибо, ха-ха. – CodeGodie

1

Проблема заключается в том, что метод window.alert ожидает строку, и вы передаете неопределенное значение для него. Браузер попытается найти глобальную переменную google и свойство в google с именем com, поэтому он не найдет, и он выкинет ошибку.

Что вы хотите, чтобы предупредить строку 'google.com', так что вам нужно в кавычки:

alert('<%=((DynaActionForm) request.getAttribute("ipacForm")).get("url").toString() %>'); 
Смежные вопросы