JSON Error with Spell Control

4 posts, 0 answers
  1. James Daresta
    James Daresta avatar
    65 posts
    Member since:
    Sep 2009

    Posted 02 Nov 2010 Link to this post

    I am using the spell in a page located in a sub folder on my site. It works fine on my local machine, but on our QA and production servers it fails with the following client side error.

    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)
    Timestamp: Tue, 2 Nov 2010 16:22:45 UTC

    Message: Sys.ArgumentException: Cannot deserialize. The data does not correspond to valid JSON.
    Parameter name: data
    Line: 5
    Char: 84093
    Code: 0
    URI: http://cawebappsdev/SalesCRMQA/ScriptResource.axd?d=jKruckmJp8vDLb592u-Ri4JQ91O8nSdaBpoqumey8nfZ3YV4dMT_t9s3_TfYk24911J7iOJTrfZn-SHpKIhcco-cO0sEgm8QZyxP_GOGncAzLS6EkF8ge5HzbCCOjPfNFrr9o9imvnTrCdbgX0MV8BjBK_Q1&t=2610f696

    I did a search and following previous posts I have not found a solution. Here is my control tag.

    <telerik:RadSpell id="radspellEditCallReport_GeneralSpellCheckTop" runat="server" ControlsToCheck="txtEditCallReport_ExecutiveSummary,reEditCallReport_CallObjectives,reEditCallReport_CallDetails,reEditCallReport_ActionItems" ButtonType="None"  />  

    Here are my web.config entries

      <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
      <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
      <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />

    <add name="Telerik_Web_UI_SpellCheckHandler_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" />


    <location path="Telerik.Web.UI.SpellCheckHandler.axd">
                <allow users="*"/>

  2. James Daresta
    James Daresta avatar
    65 posts
    Member since:
    Sep 2009

    Posted 02 Nov 2010 Link to this post

    Ok using Fiddler I was able to determine an error was occurring on the server side. The error below was what I was getting. I fixed the issue by following the fix found in http://www.telerik.com/community/forums/aspnet-ajax/spell/500-error-on-dictionary-path.aspx. I used the step mentioned as follows:

    I noticed that the dictionaries are located in the ~/App_Data/RadSpell folder which means that the DictionaryPath poperty should point that folder but not ~/RadSpell/en-us.tdf, e.g.

    <asp:TextBox ID="TextBox9" runat="server"></asp:TextBox>

    <telerik:RadSpell ID="RadSpell1" Runat="server" ControlToCheck="TextBox9"
      DictionaryPath="~/App_Data/RadSpell" SpellCheckProvider="TelerikProvider"
      ButtonType="PushButton" FragmentIgnoreOptions="All"
      SupportedLanguages="en-US,English" WordIgnoreOptions="None" />

    The question I have is should I have to do it that way? I don't remember doing this previously in another project.

    Exception message: No dictionary loaded. Set the DictionaryPath property from the spell checker settings or copy the dictionaries to ~/App_Data/RadSpell/

    at Telerik.Web.UI.Dictionaries.EditDistanceDictionary.Load(TextReader baseDictionaryReader, ICustomDictionarySource customSource, String cacheKey)

    at Telerik.Web.UI.SpellChecker.LoadDictionary()

    at Telerik.Web.UI.SpellChecker.get_dictionary()

    at Telerik.Web.UI.SpellChecker.CheckWord(String word, String sLastWord)

    at Telerik.Web.UI.TelerikSpellCheckProvider.CheckWord(ITextWord current, ITextWord previous)

    at Telerik.Web.UI.SpellChecker.CheckText()

    at Telerik.Web.UI.SpellCheckHandlerNoSession.ProcessSpellCheckRequest(HttpResponse response, SpellChecker checker, String text)

    at Telerik.Web.UI.SpellCheckHandlerNoSession.ProcessRequest(HttpContext context)

    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

  3. Rumen
    Rumen avatar
    13884 posts

    Posted 04 Nov 2010 Link to this post

    Hi James,

    By default, the spellchecker looks for its dictionary file in the ~/App_Data/RadSpell directory and for this reason the DictionaryPath could be not set. But if in your scenario the DictionaryPath setting  (DictionaryPath="~/App_Data/RadSpell") is fixes the problem, then use it.

    Best regards,
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  4. Sunil P
    Sunil P avatar
    7 posts
    Member since:
    Nov 2009

    Posted 26 Jun 2014 Link to this post

    I was also facing same JSON issue on Spell check. But this issue was found only on pages which are under a sub-folder, pages under home directory were working fine.

    I tried below code and its worked for me.

    <telerik:RadEditor id="radE1" runat="server" DialogHandlerUrl = "~/Telerik.Web.UI.DialogHandler.axd">
                <SpellCheckSettings DictionaryPath="~/App_Data/RadSpell"   AjaxUrl="~/Telerik.Web.UI.SpellCheckHandler.axd" />

    For me removing "DictionaryPath" also working...

    --Sunil S P
Back to Top