Skip to main content

Bug Tracker

Side navigation

#6075 closed bug (worksforme)

Opened February 11, 2010 08:24PM UTC

Closed February 11, 2010 09:52PM UTC

Last modified February 12, 2010 11:03AM UTC

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 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


>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;


>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.

Attachments (0)
Change History (2)

Changed February 11, 2010 09:52PM UTC by john comment:1

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).

Changed February 12, 2010 11:03AM UTC by dchaplinsky comment:2

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.