2016-01-27 18 views
5

bekomme ich einen Fehler, wenn Sie eine Seite in Seiteneditor speichern .. Irgendwie, wenn ich die Seite von der Präsentation> Detail bearbeitet und in Seiteneditor angezeigt werden, es funktioniert .. Die Fehlerprotokolle sind unten in hier ..Speicher Zurück Fehler bei Sitecores Seiteneditor

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) 

Jede Art von Gedanken oder Lösung kann

Dank

+0

sind Sie Coveo auf Ihrem Projekt? Wenn ja, überprüfen Sie bitte diesen Link: https://developers.coveo.com/display/public/SitecoreV3/%5BSitecore+8.0+update+6%5D+Error+when+saving+a+Coveo+Search+Page;jsessionid= 7B2D194698A6D70954AF7F81BAB19E92 –

+0

Nein, ich verwende Coveo nicht und mein Sitecores ist Version 8.1 .. und habe Fehler unterschiedliche Linie (Linie 38, Position 85). Obwohl, ich mache schon das Ding auf diesem Link und es funktioniert nicht – gill23

Antwort

6

Dies wird durch einen bestätigten Fehler in Sitecores verursacht wird. (Referenz # 84051, wenn ein Ticket zu öffnen)

Sie diese selbst lösen kann, aber ich noch gehen durch Sitecores empfehlen, damit sie sicherstellen können, dass Sie haben, was Sie brauchen.

Um zu lösen, schauen Sie sich die Datei /sitecore/shell/client/Sitecore/ExperienceEditor/ExperienceEditor.js an, in Zeile 510 werden Sie sehen, dass decodeURIComponent zweimal aufgerufen wird.

es aktualisiert nur einmal wie data: decodeURIComponent(JSON.stringify(commandContext)) aufgerufen wird, um den Fehler zu beheben.

Ebenso wird eine Änderung in der /sitecore/shell/client/Sitecore/ExperienceEditor/RibbonPageCode.js Datei auf der Leitung erforderlich 24.

Hier Zugabe die decodeURIComponent Methodenaufruf ist, was diese Datei behebt. Also wie folgt:

Dies betrifft wahrscheinlich auch die Coveo-Problem, aber meine Kunden verwenden derzeit nicht Coveo, so kann ich das nicht überprüfen.

+0

Lifesaver! Das hätte mich ewig brauchen, um aufzuspüren. Haben Sie einen Link zu Ticket # 84051? –

+0

Sorry @DavidMasters, kann keinen Link bereitstellen, da es zum Helpdesk geht. Wenn Sie den Support mit einem neuen Ticket kontaktieren und auf diese Nummer verweisen, sollten sie in der Lage sein, Ihnen die richtigen Fixes zu beschaffen. Fixes enthalten nur aktualisierte js-Dateien. Aber schlug vor, sie durchzugehen, falls es noch etwas gibt, das in Ihrer individuellen Lösung optimiert werden muss. –

+0

OK, wollte nur wissen, ob die neueste Version es behebt.Vorläufig habe ich die manuell bearbeitete JS-Datei in unsere VS-Lösung aufgenommen. Ich bin nur der Meinung, dass wenn wir Sitecore jederzeit aktualisieren, aber meine veraltete Version der Datei weiterhin veröffentlichen, könnte das zu Problemen führen. –

0

überprüfen Sie den Inhalt aller Felder helfen gespeichert werden. Der Experience/Page-Editor muss alles in ein json-Objekt serialisieren, um seine eigenen internen APIs aufzurufen. Es kann sein, dass ein streunender Charakter in einem Ihrer Felder den JSON-Serializer stört. Ich bin darauf gestoßen, als der Inhaltseditor seinen Inhalt kopieren und von woanders einfügen ließ.

+0

Ich glaube nicht. weil ich das Feld kenne, das den Fehler gibt und ich es bereits überprüfe, ob es Streuzeichen hat oder nicht .. – gill23

2

Dieser Beitrag für mich fixiert. Hinweis Ich bin mit Sitecore 8.2 aktualisieren 2

Mein Fehler:

After parsing a value an unexpected character was encountered: {. Path 'scLayout', line 1, position 2246.

http://jockstothecore.com/experience-editor-error/

postServerRequest: function (requestType, commandContext, handler, async) { 

    function normalizeDeviceProp(d) { 
     if (typeof(d) !== "object") 
      throw new Error("Unexpected presentation details XML: cannot find device property"); 

     if (d instanceof Array) 
      return d; 

     var normalized = []; 
     normalized.push(d); 
     return normalized; 
    } 

    var token = $('input[name="__RequestVerificationToken"]').val(); 

    // Custom Brainjocks code to fix Experience Editor error. 
    var ajaxData = unescape(JSON.stringify(commandContext)); 
    if (commandContext && commandContext.scLayout) { 
     var obj = JSON.parse(commandContext.scLayout); 
     if (obj && obj.r) { 
      normalizeDeviceProp(obj.r.d).forEach(function (d) { 
       if (d.r instanceof Array) { 
        d.r.forEach(function (r) { 
         var val = r["@par"]; 
         if (val && val.length > 0) { 
          ajaxData = ajaxData.replace(unescape(val), val); 
         } 
        }); 
       } 

      }); 
     } 
    } 

    jQuery.ajax({ 
     url: "/-/speak/request/v1/expeditor/" + requestType, 
     data: { 
      __RequestVerificationToken: token, 
      data: ajaxData 
     }, 
     success: handler, 
     type: "POST", 
     async: async != undefined ? async : false 
    }); 
} 
+0

dies behoben für mich in 8.2.3 das problem war, in rendering parameter wenn ich bin am bild dann die seite kann nicht gespeichert werden (es gibt fehler). und dieser Fix hat es behoben! –