2016-01-27 11 views
5

Tôi gặp lỗi khi lưu trang trong trình chỉnh sửa trang .. Bằng cách nào đó khi tôi chỉnh sửa trang từ bản trình bày> chi tiết và hiển thị trang trong trình chỉnh sửa trang hoạt động tốt .. Nhật ký lỗi nằm bên dưới ở đây ..Lưu lỗi trả về trong Sitecore Page Editor

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) 

Bất kỳ loại tư tưởng hoặc giải pháp có thể giúp

Cảm ơn

+0

bạn đang sử dụng coveo vào dự án của bạn? nếu có, vui lòng kiểm tra liên kết này: https://developers.coveo.com/display/public/SitecoreV3/%5BSitecore+8.0+update+6%5D+Error+when+saving+a+Coveo+Search+Page;jsessionid= 7B2D194698A6D70954AF7F81BAB19E92 –

+0

Không, tôi không sử dụng Coveo và sitecore của tôi là phiên bản 8.1 .. Và có lỗi dòng khác nhau (dòng 38, vị trí 85). Mặc dù, tôi đã làm điều trên liên kết đó và nó không hoạt động – gill23

Trả lời

6

Điều này là do lỗi được xác nhận trong Sitecore. (tham khảo # 84051 khi mở một vé)

Bạn có thể tự giải quyết vấn đề này, nhưng tôi vẫn khuyên bạn nên đi qua Sitecore để họ có thể đảm bảo rằng bạn có những gì bạn cần.

Để giải quyết, hãy xem tệp /sitecore/shell/client/Sitecore/ExperienceEditor/ExperienceEditor.js, trên dòng 510 bạn sẽ thấy rằng decodeURIComponent đang được gọi hai lần.

Cập nhật nó chỉ được gọi một lần như data: decodeURIComponent(JSON.stringify(commandContext)) sẽ giải quyết lỗi.

Tương tự như vậy, một sự thay đổi là cần thiết trong file /sitecore/shell/client/Sitecore/ExperienceEditor/RibbonPageCode.js trên dòng 24.

Ở đây, thêm các decodeURIComponent phương pháp gọi là gì sửa chữa tập tin này. Vì vậy, như thế này: ribbonUrl: decodeURIComponent(this.PageEditBar.get("url")),

Điều này có thể giải quyết vấn đề Coveo, nhưng khách hàng của tôi hiện không sử dụng Coveo, vì vậy tôi không thể xác minh điều đó.

+0

Lifesaver! Điều này sẽ đưa tôi đến độ tuổi để theo dõi. Bạn có liên kết đến vé số 84051 không? –

+0

Xin lỗi @DavidMasters, không thể cung cấp liên kết khi nó đến quầy trợ giúp. Nếu bạn liên hệ với bộ phận hỗ trợ với vé mới và tham chiếu số đó, họ sẽ có thể giúp bạn sửa các lỗi chính xác. Bản sửa lỗi chỉ bao gồm các tệp js được cập nhật. Nhưng đề nghị đi qua chúng trong trường hợp có bất cứ điều gì khác mà có thể cần phải được tinh chỉnh trong giải pháp cá nhân của bạn. –

+0

OK, chỉ muốn biết phiên bản mới nhất có khắc phục được không.Hiện tại, tôi đã thêm tệp .js đã chỉnh sửa theo cách thủ công vào giải pháp VS của chúng tôi. Tôi chỉ là concious rằng nếu chúng tôi nâng cấp sitecore tại bất kỳ điểm nào nhưng tiếp tục xuất bản của tôi ra ngày phiên bản của tập tin nó có thể chính tả rắc rối. –

0

Kiểm tra nội dung của tất cả các trường được cứu rỗi. Trình chỉnh sửa Kinh nghiệm/Trang phải sắp xếp mọi thứ vào một đối tượng json để gọi API nội bộ của riêng nó. Có thể có một nhân vật đi lạc trong một trong các trường của bạn vấp phải bộ nối tiếp json. Tôi đã gặp phải điều này khi trình chỉnh sửa nội dung đã sao chép và dán nội dung của họ từ nơi khác.

+0

Tôi không nghĩ vậy. bởi vì tôi biết lĩnh vực cung cấp cho các lỗi và tôi đã kiểm tra xem nó có nhân vật đi lạc hay không .. – gill23

2

Bài đăng này đã được sửa cho tôi. Note Tôi đang sử dụng Sitecore 8.2 Cập nhật 2

lỗi của tôi:

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

điều này cố định cho tôi trong 8.2.3 vấn đề là, trong rendering tham số nếu tôi thêm am hình ảnh sau đó trang không thể được lưu (nó cho lỗi). và sửa chữa này cố định nó! –