Передайте json со специальными символами angularjs на ruby - PullRequest
0 голосов
/ 28 мая 2018

Мне нужно создать форму поиска, в которой задний конец - рубин, а передний - угловой.Поисковый запрос генерируется в угловом формате json и передается в ruby ​​через ограничительный сервис.

Работает нормально.Но когда мы проверили строку поиска с точкой с запятой, она вернула 500 Внутренняя ошибка.Первая строка puts params[:search] дает {"content":"my search is для текущей строки json {"content":"my search is ; and :", "options":[]}

Пожалуйста, помогите мне, как справиться с этим "; ", также, пожалуйста, дайте мне знать, что все символы ядолжны быть обработаны.

1 Ответ

0 голосов
/ 28 мая 2018

Сначала вам нужно закодировать ваши параметры.

Таким образом, закодированные параметры будут: {"content":"my search is %3B and :", "options":[]}

Также допустимо следующее: %7B%22content%22%3A%22my+search+is+%3B+and+%3A%22%2C+%22options%22%3A%5B%5D%7D

Вы можетезакодировать URL с помощью: https://www.w3schools.com/tags/ref_urlencode.asp

Я уверен, что Angular должен иметь некоторую библиотеку для кодирования URL.

Вы также можете использовать собственный Javascript URL encoder .

На подобный вопрос уже был дан ответ на SO.

...