c# - 在 Sitecore 页面编辑器中保存返回错误

标签 c# json sitecore sitecore8 sitecore-mvc

在页面编辑器中保存页面时出现错误。当我从演示>详细信息编辑页面并将其显示在页面编辑器中时,它工作正常。错误日志在下面。

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/

相关文章:

c# - 等效的 LINQ to SQL 代码

c# - 如何使用查询语法来创建排列?

json - "fatal error: unexpectedly found nil while unwrapping an Optional value"解析JSON时

python - 在 Python 中将原始推文字符串转换为 JSON 对象

sitecore - 使用 TextTransform.exe 在 sitecore 中生成 TDS 代码

c# - InvokeMember 很慢,无论如何要避免这种情况?

c# - native 文件打开/保存对话框(没有 Windows 窗体或 WPF)

Python:西里尔字母处理

Sitecore 7 pdf 索引

google-analytics - 如何在 Sitecore 6 中使用 Google Analytics?