JQuery AJAX неправильно добавляет точку с запятой к переданным данным

0

У меня есть следующий простой пример, когда у меня есть 3 типа настроек, которые я передаю через ajax.

var settings = {
    "one" : "V&T",
    "two" : "V & T",
    "three" : "V&T100",
    "four" : "V&T1"
};

return $.ajax({
    url  : myUrl,
    type : "POST",
    data : {"settings" : settings},
});

Когда я проверяю свои данные в php, они отображаются следующим образом

Array(
[settings] => Array
    (
        [one] => V&T
        [two] => V & T
        [three] => V&T100;
        [four] => V&T1;
    )
)

Обратите внимание, что для трех и четырех я теперь добавляю к ним две точки().

Есть ли какая-нибудь работа для этого или есть решение? Это очень упрощенный пример, мой полный код фактически использует нокаут для рендеринга настроек.

  • 1
    Используете ли вы CodeIgniter с global_xss_filtering ?
  • 0
    @AmalMurali да, я использую Codeigniter, и global_xss_filtering включен, но я не могу это изменить
Теги:
codeigniter
knockout-2.0

1 ответ

0
Лучший ответ

Глобальная xss-фильтрация Codeigniter кодировала амперсанд и добавляла конечную точку с запятой (;).

Поскольку мне не удалось отключить глобальную фильтрацию xss, я решил использовать исходный вход php://для получения моих данных.

  • 0
    Вы не должны отключать global_xss_filtering , вместо этого вы должны удалить свои данные.
  • 1
    @ AnasNakawa - спасибо, я обнаружил, что ваш комментарий совершенно не помог. Если вы прочтете мой фактический пост, вы заметите, что я уже заявил, что не отключаю global_xss_filtering!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню