2012-06-01 5 views
0

Я хотел знать, есть ли способ остановить Javascript от вызова php на каждой странице и заполнения массива, а вместо этого просто переносить массив по всем страницам браузеров пользователей.Как предотвратить запросы на сервер при загрузке каждой страницы

В настоящее время при каждой загрузке страницы он получает новый запрос на сервер и повторно заполняет массив, например, когда пользователь нажимает ссылку на странице html.

Это то, что я имею в моем JS файл:

//Browser Support Code 
function call_data(url,data){ 
    if (window.XMLHttpRequest) {    
    AJAX=new XMLHttpRequest();    
    } else {         
    AJAX=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    if (AJAX) { 
    querystring = "?dta="+data; 
    AJAX.open("GET", url + querystring, false);        
    AJAX.send(null); 
    return AJAX.responseText;           
    } else { 
    return false; 
    }            
}  


var statistics = JSON.parse(call_data('user_info.php',userid));//user data 

Я в настоящее время не вижу преимущество, если ее вызова при каждой загрузке страницы, как я мог бы обойтись и без ... если не Theres пути чтобы мой массив задавал загрузку каждой страницы?

ответ

0

Вы можете сохранить его в файле cookie и проверить, действительно ли значение в cookie является допустимым, загрузить его из файла cookie, в противном случае запросить его с сервера и сохранить его в файле cookie для дальнейшего использования.

1

Вы можете использовать API хранения веб-хранилища/DOM через JavaScript. Он имеет достойную поддержку браузера, и если вы его правильно реализуете, вы всегда можете пропустить запрос страницы PHP, если веб-хранилище недоступно.

Вот учебник, чтобы вы начали:

http://www.diveintojavascript.com/tutorials/web-storage-tutorial-creating-an-address-book-application

Смежные вопросы