При работе между клиентской и серверной частью приложения возможность отправлять информацию от одного к другому невероятно важна. Кроме того, передача также должна быть безопасной, поскольку пользователям часто потребуется вводить конфиденциальную информацию. От внутреннего интерфейса к внешнему интерфейсу относительно просто, так как клиентская сторона может просто fetch()от конечной точки сервера. «encodeURIComponent» — это встроенная функция JavaScript для отправки из интерфейса в серверную часть.

Чтобы использовать encodeURIComponent, вы просто пишете его как функцию, одним параметром которой является любая строка ввода:

const userInput = “Hello, world!”;
const encodedInput = encodeURIComponent(userInput);
console.log(encodedInput); // Output: “Hello%2C%20world%21”

Как видно здесь, encodeURIComponent изменил некоторые символы в «Hello, world!» таким образом, чтобы его можно было передать как часть URL-адреса. Затем пользователи могут кодировать строки, которые могут вызвать конфликт в формате URL, и отправлять их для отправки информации на серверную часть для обработки:

const username = "John Doe";
const email = "[email protected]";
const encodedUsername = encodeURIComponent(username);
const encodedEmail = encodeURIComponent(email);

const url = `/api/user?username=${encodedUsername}&email=${encodedEmail}`;
fetch(url, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ username, email }),
})
  .then((r) => r.json())
  .then((data) => console.log(data));
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/api/user', methods=['POST'])
def handle_user_data():
    if request.method == 'POST':
        # Get the data from the JSON body of the request
        data = request.get_json()
        
        # Access the username and email parameters sent from the frontend
        username = data.get('username')
        email = data.get('email')
        
        # Perform any necessary backend processing with the received data
        response_data = {
            'message': 'Data received successfully!',
            'username': username,
            'email': email,
        }
        
        # Return the response as JSON
        return jsonify(response_data)

используя Flask API в качестве примера бэкэнда, здесь имя пользователя и адрес электронной почты могут быть отправлены из внешнего интерфейса в бэкэнд, а затем отправлены в базу данных пользователей.

Обычно этот закодированный URL-адрес можно увидеть в поисковых URL-адресах, таких как

“https://www.example.com/search/?q=search+query&lang=default”

где интерфейс приложения может быть написан как таковой:

`/search?q=${encodeURIComponent(searchTerm)}`

и что searchTerm может быть дополнительно передан серверной части как часть выборки для получения уже отфильтрованной части базы данных.

В заключение, используя encodeURIComponent во внешнем интерфейсе и правильно обрабатывая данные во внутреннем интерфейсе, вы обеспечиваете безопасную и точную передачу данных между внешним интерфейсом и внутренним интерфейсом Flask Python.