Thats true! Failed JSON is much more likely to be a programmer error
then actually something the app could recover from, like a network
problem.

Jörn

On Mon, Nov 3, 2008 at 12:37 PM, weepy <[EMAIL PROTECTED]> wrote:
>
> It would be nice to be able to distinguish between failed data
> transport and failed eval.
>
>
> On Nov 3, 9:30 am, "Jörn Zaefferer" <[EMAIL PROTECTED]>
> wrote:
>> Afaik so far invalid JSON would trigger an ajaxError, which is the
>> same as "dies silently" as long as there is no ajaxError event bound.
>>
>> Swallowing the exception and returning false is not at all better.
>>
>> Jörn
>>
>> On Sun, Nov 2, 2008 at 8:56 PM, Andrea Giammarchi
>>
>> <[EMAIL PROTECTED]> wrote:
>> > fale is a JSON valid result, I would return undefined that in JSON should
>> > never exist as case.
>>
>> > It's not the first time I return true or false from the server, and a false
>> > positive like false (sorry for the concept) will mess up a lot of requestes
>> > without a reason.
>>
>> > On Sun, Nov 2, 2008 at 6:21 PM, Rick Strahl <[EMAIL PROTECTED]> wrote:
>>
>> >> Wouldn't it be better to return the Exception object (or something
>> >> that you can test for anyway)?
>>
>> >> Otherwise I'd argue that the exception thrown by a failed eval is a
>> >> better choice than returning false.
>>
>> >> +++ Rick ---
>>
>> >> On Oct 31, 3:22 pm, Rob Manson <[EMAIL PROTECTED]>
>> >> wrote:
>> >> > Hi,
>>
>> >> > not sure if you're happy for patches to be posted directly here...so
>> >> > feel free to tell me where to patch it 8)
>>
>> >> > roBman
>>
>> >> > BUG:
>> >> > httpData: function in ajax.js (used by getJSON() calls or get() calls
>> >> > where type == "json") doesn't currently test the eval is successful.
>>
>> >> > e.g. it just assumes that valid JSON was returned and eval will succeed,
>> >> > silently failing if this is the case.
>>
>> >> > FIX:
>> >> > Here's a patch to bring it in line with the other functions above.
>>
>> >> > e.g. httpSuccess and httpNotModified
>>
>> >> > NOTE: Let me know if there's a more "preferred" way to handle this error
>>
>> >> > DIFF against 1.2.6 from svn:
>> >> > Index: src/ajax.js
>> >> > ===================================================================
>> >> > --- src/ajax.js (revision 5918)
>> >> > +++ src/ajax.js (working copy)
>> >> > @@ -478,9 +478,12 @@
>>
>> >> >                 // Get the JavaScript object, if JSON is used.
>> >> >                 if ( type == "json" )
>> >> > -                       data = eval("(" + data + ")");
>> >> > -
>> >> > -               return data;
>> >> > +                       // Check to make sure the JSON returned
>> >> > evaluates correctly
>> >> > +                       try {
>> >> > +                               data = eval("(" + data + ")");
>> >> > +                               return data;
>> >> > +                       } catch(e) {}
>> >> > +                       return false;
>> >> >         },
>>
>> >> >         // Serialize an array of form elements or a set of
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to