在页面编辑器中保存页面时出现错误。当我从演示>详细信息编辑页面并将其显示在页面编辑器中时,它工作正常。错误日志在下面。
ERROR After parsing a value an unexpected character was encountered: {. Path 'scLayout', line 38, position 85. Exception: Newtonsoft.Json.JsonReaderException
Message: After parsing a value an unexpected character was encountered: {. Path 'scLayout', line 38, position 85. Source: Newtonsoft.Json
at Newtonsoft.Json.JsonTextReader.ParsePostValue()
at Newtonsoft.Json.JsonTextReader.ReadInternal()
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at Sitecore.ExperienceEditor.Speak.Server.Requests.PipelineProcessorRequest`1.Process(RequestArgs requestArgs)
任何一种想法或解决方案都可能有所帮助
谢谢
最佳答案
这是由 Sitecore 中已确认的错误引起的。 (开票时引用#84051)
您可以自己解决这个问题,但我仍然建议您通过 Sitecore,这样他们可以确保您拥有所需的东西。
要解决,查看/sitecore/shell/client/Sitecore/ExperienceEditor/ExperienceEditor.js
文件,在第510行你会看到decodeURIComponent
被调用两次。
将其更新为仅调用一次,如 data: decodeURIComponent(JSON.stringify(commandContext))
将解决错误。
同样,需要在 /sitecore/shell/client/Sitecore/ExperienceEditor/RibbonPageCode.js
文件第 24 行进行更改。
在这里,添加 decodeURIComponent
方法调用是修复此文件的方法。所以像这样:ribbonUrl: decodeURIComponent(this.PageEditBar.get("url")),
这可能也解决了 Coveo 问题,但我的客户目前没有使用 Coveo,所以我无法验证这一点。
关于c# - 在 Sitecore 页面编辑器中保存返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35029713/