Как передавать данные между страницами без изменения адреса страницы?

Как изменить скрипт так, чтобы при передаче данных на другую страницу URL остался чистым, например, <code>/apply/</code>, но при этом сохранить прежний функционал из-за плагина кэширования, который затрудняет процесс изменения URL?
  • 20 мая 2024 г. 15:40
Ответы на вопрос 2
Для передачи данных между страницами без изменения адреса страницы, можно использовать технику AJAX. 

Пример кода:

1. На странице, с которой мы хотим передать данные, создаем функцию для отправки данных через AJAX:

```javascript
function sendData() {
    var data = { key: 'value' }; // данные, которые хотим передать
    $.ajax({
        type: 'POST',
        url: '/apply/', // URL страницы, на которую отправляем данные
        data: data,
        success: function(response) {
            // обработка ответа, если необходимо
        }
    });
}
```

2. На странице, на которую передаем данные, принимаем их через AJAX:

```javascript
$(document).ready(function() {
    $.ajax({
        type: 'GET',
        url: '/get_data/', // URL, по которому доступны данные
        success: function(response) {
            // обработка полученных данных
        }
    });
});
```

Чтобы сохранить URL чистым, можно использовать технику URL rewriting. Например, у вас может быть такой URL: `/apply/?key=value`, но вы хотите, чтобы он выглядел как `/apply/`. Для этого вам понадобится сконфигурировать ваш веб-сервер (например, Apache) так, чтобы он переписывал URL.

Пример конфигурации для Apache:

```
RewriteEngine On
RewriteRule ^apply/$ /apply/?key=value [L]
```

Таким образом, при переходе на `/apply/` будет автоматически добавляться параметр `key=value`, но пользователь увидит только чистый URL.
Надеюсь правильно понял вопрос. Можете воспользоваться history.pushState(null, null, '/apply/');
Похожие вопросы