Okay, so after about four hours of testing, I finally discovered the
fix. Good news it has zero to do with jQuery.

It actually was caused by CakePHP. The actual JSON values were being
created in a Cake view which was outputting it for the Ajax callback.

What I did not realize, that if Cake is in a debug mode of anything
other than '0', it appends view output with the execution time, like
so: <!-- 0.7965s -->

Firefox did not mind, but IE 6 and 7 weren't having any of it. My
first fix was kinda grody: {"content": "test"};//

This essentially added the semicolon that IE wanted to see, and
commented out the execution time.

Then we discovered from IRC that we could turn it off by setting debug
to 0. But that's a global change, so I ended up adding the following
line to the controller calling the view:

$this->render(); exit;

And their was much rejoicing.

Reply via email to