Я использую rxjs в своем приложении.
В package.json моя зависимость от rxjs "rxjs": "^5.2.0"
Из этого я использую модуль ajax:
import { ajax } from 'rxjs/observable/dom/ajax'
Я не могу найти документацию для функции ajax.
Мой код:
let categories = action.payload.subcategories.map(cat => cat.id)
let shop = JSON.stringify(action.payload.shop)
action.payload.categories = JSON.stringify(categories)
action.payload.shop = shop
return ajax
.post('http://192.xxx.xxxx:4000/products', action.payload, {
'Content-': 'application/json'
})
У меня возникает проблема, когда, если shop
объект имеет амперсанд в одном из своих полей, который разрывает отправляемый объект json.stringified.
Как разрешить амперсанды в текстовых полях объектов json.stringified без разрыва поля?
Нужно ли URL кодировать его?Это просто будет означать немного больше работы на стороне сервера для декодирования, поэтому я смотрю на свои варианты.
Этот SO-ответ кажется простым способом сделать это, хотя я не использую jquery и не знаю, как установить тип запроса для объекта данных в функции ajax.post
используется.
action.payload:
Фактические отправляемые данные формы (вкладка сети в консоли разработчика)
Я заметил, что когда я использовал encodeURIComponent()
в javascript, он сильно изменил полезную нагрузку.В настоящее время у меня есть бэкэнд-декодирование json, поэтому я хотел бы избежать изменения полезной нагрузки настолько, насколько это возможно.Задняя часть находится в эликсире.