Область видимости переменной JavaScript - постоянное состояние? - PullRequest
3 голосов
/ 17 июля 2009

У меня есть следующие настройки, и мне нужно знать, как сохранить состояние.

1.) Внешняя веб-страница использует ajax для загрузки и отображения файла .jsp, который содержит javascript. 2.) После завершения рендеринга необходимо вызвать javascript в файле .jsp для выполнения действия, основанного на результатах, которые произошли во время рендеринга. В частности, документ выполняет действие с $ (document) .ready, и эти действия определяют, что нужно делать при последующих вызовах функций.

У меня такой вопрос: как мне сохранить данные и состояние, созданные при загрузке страницы? Я пробовал что-то вроде этого:

Внешний: ajax to test.jsp

Внутренний тест.jsp

var saveMe = {};

function getsCalled()  
{  
    saveMe = {'a':function(){return false;}};  
}  

function needsData()  
{  
    //???  
}  

Позже ...
Внешний:

needsData();  

Ничто из того, что я пытаюсь сделать, не работает. Каков наилучший способ сохранить государство в этой ситуации?

Ответы [ 3 ]

1 голос
/ 17 июля 2009

Если вы хотите узнать о области видимости, прочитайте this . Это может помочь вам понять, что происходит.

0 голосов
/ 03 сентября 2009

Создание переменной как члена функционального объекта работало плавно.

0 голосов
/ 18 июля 2009

Вы пытались объявить saveMe за пределами $ (документа) .ready? Тогда вы сможете изменить значение как внутри $ (document) .ready, так и из внешнего скрипта. Я не уверен, как работает область видимости для переменных javascript из вызова ajax, поэтому я не уверен, сработает ли это на самом деле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...