Bug Tracker

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#6075 closed bug (worksforme)

Bug in JSON response interpretation in ie6.

Reported by: dchaplinsky Owned by:
Priority: Milestone: 1.4.2
Component: ajax Version: 1.4.1
Keywords: ajax, ie6, json, dataType Cc:
Blocked by: Blocking:


Just found very strange bug which appeared, when we tried to migrated our site mydeco.com to jQuery 1.4.1.

One of ajax queries started to raising abnormal javascript error in ie6:

Line: *72713225* Char: 9 Error: Expected ',' Code: 0

Where line is always has some inanely high random value

After some investigation I realized, that this is because ajax query was called without specifying exact dataType (json in my case) and IE6 raising error in globalEval procedure when executing

head.insertBefore( script, head.firstChild );

jQuery 1.3.2 playing good here. Also, specifying dataType: "json" fixing the problem.

Here is the ajax request/response headers:


POST /account/profile/slideshow/add/ajax/ HTTP/1.1 Host: mydeco User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 Accept: */* Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Referer: http://mydeco/people/creator/edit-profile/ Content-Length: 34 Pragma: no-cache Cache-Control: no-cache content_type=room&object_id=595498

HTTP/1.1 200 OK Date: Thu, 11 Feb 2010 20:13:53 GMT Server: WSGIServer/0.1 Python/2.5.4 X-Debug-JSON: queries: 3, time: 0.001=(0.0002+0.0011+0.0002) Vary: X-HTTP-Force-Status-200 X-Debug-Time: 4.058 ~= (0.002 + 4.054 + 0.002); I/O: 1.777; django: 2.280; delta=0.000; P3P: CP="CAO PSA OUR" Content-Type: application/x-javascript X-Debug-SQL: queries: 9, time: 1.776=(0.1650+0.3100+0.1570+0.1570+0.1600+0.1680+0.1600+0.1670+0.3320) Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Transfer-Encoding: chunked

Contact me, if you need any details or live demo.

Change History (2)

comment:1 Changed 13 years ago by john

Resolution: worksforme
Status: newclosed

That's correct - depending on the headers of your script it's likely that it's being interpreted as plain JavaScript. You can either fix the headers on your server-side script or just specify dataType: "json" (as you noted).

comment:2 Changed 13 years ago by dchaplinsky

Hm, ok, but two things are worrying me:

  1. Why it was ok in 1.3.2?
  2. Can you enclose the statement with try/catch and maybe show appropriate message?

Because it's quite unclear to understand why it's producing strange errors on empty place.

Note: See TracTickets for help on using tickets.