Draft.js无法将undefined或null转换为对象convertFromRaw

时间:2018-01-09 10:08:37

标签: javascript reactjs html-editor draftjs

我将我的html代码以json格式保存到sql数据库

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

raw是

  

{" entityMap":{},"块":[{"键":" 4bk88""文本& #34;:" Ridee酒店""类型":"无样式""深度":0," inlineStyleRanges" :[]," entityRanges":[],"数据":{}}]}

然而,当我在服务器中使用XMLHTTPRequest发送它时,它将req.body变为

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

这就是它的保存方式

  

{" {\" entityMap \":{},\"块\":[{\"密钥\&#34 ;: \"某些文字\",\"文字\":\" ridee \",\"输入\":\ "无样式\" \"深度\":0,\" inlineStyleRanges \":":["&#34 ]}

所以我收到后它不会返回预期的对象

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

{" entityMap":{}," blocks":[{" key":" Some Text","文本":" Ridee酒店""类型":"无样式""深度":0," inlineStyleRanges&#34 ;:   :

我按预期得到了这个但是convertFromRaw给出了这个错误

  

无法将undefined或null转换为对象

     

Object.keys(entityMap).forEach(function(storageKey)

提前致谢!

1 个答案:

答案 0 :(得分:0)

我发错的格式发送到我的服务器 我改变了 应用程序/ x-WWW窗体-urlencoded 至 应用/ JSON