#10810 closed bug (invalid)
$.parseJSON("null") Causes Stack Overflow With Internet Explorer 6 - 7
Reported by: | phistuck | Owned by: | phistuck |
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | core | Version: | 1.7 |
Keywords: | jqueries | Cc: | |
Blocked by: | Blocking: |
Description
In all of the (modern) browsers, JSON.parse returns null when called with JSON.parse("null"), so $.parseJSON should do the same for browsers with no native JSON support.
Tested and failed with jQuery 1.7, jQuery 1.6.4, jQuery 1.5.1.
Change History (5)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
Owner: | set to phistuck |
---|---|
Status: | new → pending |
This works fine for me in IE7: http://jsfiddle.net/dmethvin/eUQVX/
Is it possible you are including some other code that is shimming JSON.parse?
comment:3 Changed 12 years ago by
Status: | pending → new |
---|
Oh. Actually, now that you have mentioned it...
I include something like that (after jQuery is loaded, but before I use JSON.parse
) -
if (!window.JSON) { window.JSON = {parse: $.parseJSON}; }
Can you maybe add a check for that (JSON.parse !== $.parseJSON
) in jQuery?
I prefer to use JSON.parse
straight on instead of $.parseJSON
every time)...
comment:4 Changed 12 years ago by
Resolution: | → invalid |
---|---|
Status: | new → closed |
No. Don't replace native methods with semi-functional ones, it will confuse code that expects things to work.
comment:5 Changed 12 years ago by
Component: | unfiled → core |
---|---|
Keywords: | jqueries added |
I neglected to mention that in some configurations, this causes Internet Explorer 6 to simply shut down immediately, without any warning. Other times, it just shows a weird stack overflow alert and the rest of the page keeps loading as usual.