fixed it, removed:
context.Response.Charset = Encoding.UTF8.ToString(); changed: context.Response.ContentType = "application/ json;charset=utf-8"; On Jul 6, 2:38 pm, expresso <dschin...@gmail.com> wrote: > I am trying out $.ajax instead of getJSON for debugging purposes. > Because getJSON did not report an error in IE (6,7 or 8) and I am > trying to figure out why a jQuery plug-in is not painting my returned > images to the screen in IE but is in other browsers. > > So I tried this. Interestingly enough, it hits the error event in IE > but not firefox, safari and the rest and I don't know why (this code > works great and renders my data just fine in FireFox and the rest). I > know my returned json is valid: > > $.ajax({ > type: "GET", > url: "http://localhost:59396/sss/sssHandler.ashx? > action=getproducts&ids=" + ids, > data: "{}", > contentType: "application/json; charset=utf-8", > dataType: "json", > success: function(data) { > alert(data.length); > carousel.size(allProductIDs.length); > > if (numberOfImagesLeftToShow < numberOfImagesToDisplay) { > first += (numberOfImagesToDisplay - > numberOfImagesLeftToShow); > } > > var d = 0; > for (var i = first; i <= last; i++) { > > if (d != undefined) { > // add data using index of the array returned by JSON > (which starts at 0) > carousel.add(i, decode(data[d].ImageTag)); > } > > // set to last ProductID showing in Carousel > if (i == last) { lastProductID = parseFloat(data > [d].ProductID); } > > d++; > } > }, > > error: function() { > alert("An error has occurred. Please try again."); > } > > }); > > I don't know what else to do to troubleshoot why IE is having so much > trouble with the returned JSON or just executing the function(data) > using either getJSON OR this. I have set the headers not the cache > also in the response. That is not the problem. The problem is for > whatever reason, IE refuses to enter my function(data) on the > response. > > Here's the returned JSON which shows valid (even checked it > withhttp://www.jsonlint.com/): > > [ > { > "ImageTag": "\u003cdiv class=\"CarouselItem > \"\u003e<p><img src="http://www.xxx.com/image/ > 2568.jpg" alt=""></p>\u003cp\u003e\u003ca > href= > \"Bear-10.prod\"\u003eTeddy Bear\u003c/a\u003e\u003c/p\u003e\u003cp > \u003e$20.95\u003c/p\u003e\u003cdiv\u003e", > "ProductID": "540" > }, > { > "ImageTag": "\u003cdiv class=\"CarouselItem > \"\u003e<p><img src="http://www.xxx.com/image/ > 50.jpg" alt=""></p>\u003cp\u003e\u003ca href= > \"Pendant362.prod\"\u003eBirthday\u003csup\u003e©\u003c/sup > \u003Necklace\u003c/a\u003e\u003c/p\u003e\u003cp\u003e$36.95\u003c/p > \u003e\u003cdiv\u003e", > "ProductID": "83" > } > ] > > in my .ashx I simply have the following main code to product the > response > > context.Response.ContentType = "application/json"; > context.Response.Charset = Encoding.UTF8.ToString(); > context.Response.Cache.SetNoStore(); > context.Response.Cache.SetExpires(DateTime.MinValue); > context.Response.Cache.SetCacheability > (HttpCacheability.NoCache); > context.Response.Cache.SetValidUntilExpires(false); > > context.Response.Expires = -1; > context.Response.ExpiresAbsolute = DateTime.MinValue; > context.Response.AddHeader("Cache-Control", "no-cache"); > context.Response.AddHeader("Cache-Control", "post-check=0, pre- > check=0"); > context.Response.AddHeader("Pragma", "no-cache"); > > ... > > string jsonString = imageList.ToJSON(); <-- uses the .NET 3.5 > JavaScriptSerializer > context.Response.Write(jsonString); > > also, it doesn't seem to matter if you specify the > response.ContentType as "application/json" or "text/plain" because at > least I'm getting valid data in FireFox returned and parsed. > > I tried even sending a simple hard coded string over to make sure the > JSON was not corrupt or something else: > > [ > { > "ImageTag": "imagePath", > "ProductID": "540" > }, > { > "ImageTag": "imagePath", > "ProductID": "83" > } > ] > > Same result. Firefox and the rest had no issue. IE still exited the > $.ajax and my error method kicked in. No rhyme or reason whatsoever > and I tried the IE Dev tools... nothing. About the only thing I get > is this: > > Line: 163 Error: System error: -1072896658. Line 163 > > which is simply the line: function() { alert("An error has occurred. > Please try again."); > > This has got to be the most f*d up situation I've been in and I need > to get this working! I just cannot understand why IE can't parse a > getJSON or $.ajax response, that is impossible or else there would be > a huge meltdown with jQuery.