On Fri, 2008-09-26 at 01:38 +0200, Bryan M. wrote:

> I'm trying to use jQuery to write all my js unobtrusively, and running
> into a bit of a problem when triggering the format.js block in IE6 (and
> possibly IE7). It returns the JSON string no problem, but instead of
> parsing it, IE6 asks to download the resource as a .js file.
> 
> So if my url is '/pictures/1.js', IE6 will ask to save or run '1.js'


did you try relaying on the request type per se,
without the .js on the url?


> 
> I did do some digging, and I understand that IE sets */* on the Accept
> header. I'm not sure if it has to do with that or not. It is triggering
> the format I'm asking for. It's just that IE6 won't recognize it as a
> typical javascript response.
> 
> Here's some code. Also note that this is for an image upload, so it's
> not a real AJAX request, and I'm using the jQuery Form plugin to post to
> an iframe.
> 
> The details of my ajax call:
> 
>   var options = {
>     url: /pictures/1.js,
>     iframe: true,
>     beforeSubmit: prepImageArea,
>     success: imageUploaded,
>     dataType: 'script',
>     beforeSend: function(xhr) {xhr.setRequestHeader("Accept",
>       "text/javascript")}
>   }
> 
> And my respond_to block:
> 
>     respond_to do |format|
>       format.html { redirect_to edit_picture_path(@picture) }
>       format.js { render :json => @picture.to_json(:methods =>
> [:public_filename, :large_thumb]) }
>     end
> 
> Any suggestions? Thanks.

-- 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to