Draft.js Невозможно преобразовать undefined или null в объект convertFromRaw

Я сохраняю свой html-код в базе данных sql в формате json

const content = this.state.editorState.getCurrentContent();
const raw = JSON.stringify(convertToRaw(content))

сырье

{"entityMap": {}, "blocks": [{"key": "4bk88", "text": "ridee", "type": "unstyled", "depth": 0, "inlineStyleRanges": [] , "entityRanges": [], "data": {}}]}

однако, когда я отправляю его с XMLHTTPRequest на сервере, он меняет req.body становится на

post.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')

Вот как это спасает

{"{\" entityMap \ ": {}, \" блоки \ ": [{\" key \ ": \" Some Text \ ", \" text \ ": \" ridee \ ", \" type \ " : \ "без стиля \", \ "глубина \": 0, \ "inlineStyleRanges \": ": [" "]}

поэтому после получения он не возвращается как ожидаемый объект

const raw = JSON.parse(req.response.htmlcode)
const contentState = convertFromRaw(raw);

{"entityMap": {}, "blocks": [{"key": "Some Text", "text": "ridee", "type": "unstyled", "depth": 0, "inlineStyleRanges"::

Я получаю это, как и ожидалось, однако convertFromRaw выдает эту ошибку

Невозможно преобразовать undefined или null в объект

Object.keys (entityMap) .forEach (функция (storageKey)

Заранее спасибо!


person Kaan Bursa    schedule 09.01.2018    source источник


Ответы (1)


Я отправлял на свой сервер неправильный формат. Я изменил application / x-www-form-urlencoded на application / json.

person Kaan Bursa    schedule 09.01.2018