This is a migrated thread and some comments may be shown as answers.

JSON Error with Spell Control

3 Answers 191 Views
Spell
This is a migrated thread and some comments may be shown as answers.
James Daresta
Top achievements
Rank 1
James Daresta asked on 02 Nov 2010, 05:29 PM
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

<httpHandlers>
  <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" />
</httpHandlers>

<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">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

3 Answers, 1 is accepted

Sort by
0
James Daresta
Top achievements
Rank 1
answered on 02 Nov 2010, 06:47 PM
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)

0
Rumen
Telerik team
answered on 04 Nov 2010, 10:15 AM
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,
Rumen
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
0
Sunil P
Top achievements
Rank 1
answered on 26 Jun 2014, 06:24 AM
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" />
        </telerik:RadEditor>

For me removing "DictionaryPath" also working...

--Sunil S P
Tags
Spell
Asked by
James Daresta
Top achievements
Rank 1
Answers by
James Daresta
Top achievements
Rank 1
Rumen
Telerik team
Sunil P
Top achievements
Rank 1
Share this question
or