Member 12742983 Ответов: 1

Как передать специальные символы контроллеру


у меня есть имя переменной

ВАР vehiclename ="телевизоры Звездный городок+ (БС Ив)-СМАГ-СБТ", как это случилось динамически по событию click на круговых диаграммах, которые блокируют именем из базы данных

теперь моя проблема в том, что я передал эту переменную в качестве параметра
$.Аякс({
тип данных: "json",
Типа: "Вам",
url: baseUri + 'api/Purchases/BookingByVehicleName/?VehicleName=' + vehicleName,
успех: функция (данные) {

}

},
ошибка: функция (jqXHR, textStatus, errorThrown) {

}
});
это мой контроль.
[HttpGet]
[Маршрут("BookingByVehicleName")]
public IEnumerable<object> BookingByVehicleName(string VehicleName) => bizPurchases.BookingByVehicleName(VehicleName);

теперь issuse - это параметры, пропускающие специальный символ
оригинал стоит параметр из переменной "телевизоры Звездный городок+ (БС Ив)-СМАГ-СБТ", когда попадает в контроллер значение параметра превращается в "телевизоры Звездный городок (БС ИЖ) СМАГ СБТ" здесь особый характер пропажи

Что я уже пробовал:

я изменил тип данных string на char но он не работает можете ли вы пожалуйста помочь любому для этого

F-ES Sitecore

В дополнение к кодированию текста, как показано в решении 1, Если вы используете атрибут "data" и помещаете туда имя транспортного средства, то jQuery будет кодировать текст для вас.

1 Ответов

Рейтинг:
0

Nathan Minier

Стандартный метод encodeURI (), который фреймворк использует для AJAX, пропускает '+'. Хотя я не совсем понимаю, почему " - " раздеваются.

Попробовать это:

url: baseUri + 'api/Purchases/BookingByVehicleName/?VehicleName=' + encodeURIComponent(vehicleName),


Документация: encodeURIComponent() - JavaScript | MDN[^]