Hi,

Just a thought... Have you checked if your Apache configuration 
enforce compression (eg. gzip) on the data with 'application/json' 
content type (or, rather, to any unknown content-type) while not 
adding proper transfer-encoding header?
In such situation browser would not uncompress the response.

try running
# wget -O - http://your.address/here | gunzip -

It is rather unprobable situation, but it's always worth to test it.

--
Regards,
Szymon Wilkołazki


broberts wrote:
> Michael,
> 
> Do you mean "Does the AS/400 use an unusual character set?"  Well,
> when it comes to encoding, I begin to get lost in the discussion of
> charsets, ASCII, and EBCDIC (IBM's standard).  I would assume that the
> data comes from the AS/400 in EBCDIC, but has to be transcoded as some
> point.  I'm not sure when/where the transcoding takes places.
> 
> Since you thought Firebug might be suspect in terms of how it presents
> the response, I used Fiddler and WGET.  When I using other tools (e.g.
> Fiddler) to inspect the HTTP activity, it also shows the response the
> garbled.  Here's the response show by Fiddler:
> 
> �%  ���������� [EMAIL PROTECTED]   ������ z   k%   ������� z   k%   ������ z  
>  k
> %   ���� z@   % �%�
> 
> Here's the complete response from the Web server when the Content-Type
> is 'application/json':
> 
> ---
> HTTP/1.1 200 OK
> Date: Tue, 15 Apr 2008 14:06:07 GMT
> Server: Apache
> Content-Type: application/json
> Content-Length: 86
> 
> �%  ���������� [EMAIL PROTECTED]   ������ z   k%   ������� z   k%   ������ z  
>  k
> %   ���� z@   % �%�
> ---
> 
> When changing the Content-Type to 'text/javascript', the response is
> as expected.  However, the correct standard for JSON-formatted HTTP
> responses is to set the Content-Type to 'application/json'.  Here's
> the response when the Content-Type is set to 'text'javascript':
> 
> ---
> HTTP/1.1 200 OK
> Date: Tue, 15 Apr 2008 14:20:09 GMT
> Server: Apache
> Transfer-Encoding: chunked
> Content-Type: text/javascript; charset=ISO-8859-1
> 
> 56
> {
>       "srvpgmresp": {
>               "status":       "ok",
>               "purpose":      "user",
>               "rtncod":       "1",
>               "body":         "Empty"
>       }
> }
> 0
> ---
> 
> I really suspect the Apache Web server or some other software with its
> hand in the transcoding process.  Any help is appreciated.
> On Apr 15, 3:34 am, Michael  Stillwell <[EMAIL PROTECTED]>
> wrote:
>> I'd also check that the content you're getting from the server really
>> is different (via e.g. wget or netcat or telnetting to the port)
>> instead of trusting Firebug--I've never known Apache to change the
>> encoding of anything that flows through it (adding headers is a
>> different story), though Apache does have lots of modules that do lots
>> of things and maybe transcoding is more necessary on AS/400...  (Does
>> it use an "unusual" character set?)  --M.
>>
>> On Apr 14, 11:00 pm, broberts <[EMAIL PROTECTED]> wrote:
>>
>>> I cannot find any reference to 'defaultchartype' in my config file.
>>> However, the Apache config starts out with a number of AddType
>>> declarations that look promising...
>>> AddType text/plain .java
>>> AddType text/xml .xml
>>> AddType text/x-hdml .hdml
>>> AddType text/vnd.wap.wml .wml
>>> AddType image/gif .gif
>>> AddType text/html .htm
>>> AddType text/html .html
>>> AddType text/x-component .htc
>>> Maybe I need to add...
>>> AddType application/json .js
>>> Let me know what you think.  I'm going to research it a little more
>>> before I make changes the Web server's configuration.
>>> On Apr 14, 4:53 pm, "Brian Williams" <[EMAIL PROTECTED]> wrote:
>>>> Apache on the ass/400 never really thunk of it...
>>>> which version?
>>>> one thing you might want to check is the defaultchartype in the httpd.conf
>>>> file or the server specific directives, thats the first thing i check when 
>>>> i
>>>> have garbled output like that
>>>> On Mon, Apr 14, 2008 at 5:45 PM, broberts <[EMAIL PROTECTED]> wrote:
>>>>> Yes, the code on your server works for me.  Though I didn't seem to me
>>>>> that it would make any difference, I had a quick thought that it might
>>>>> be that I was using the GET method rather than the POST method.
>>>>> However, changing the method had no effect.
>>>>> I'm using Firebug to inspect the DOM, GET/POST request, and the
>>>>> response.  When I get the response back, it's garbled.  As long as I
>>>>> specify the content-type as 'text/javascript' (and set the evalJSON
>>>>> parm to 'force'), the responseJSON property is populated correctly.
>>>>> However, when I set the content-type to 'application/json', the
>>>>> response (i.e. responseText property) comes back garbled.  It contains
>>>>> non-printable characters.  It's quite strange.  Here's a copy & paste
>>>>> of the response:
>>>>> �%  ���������� [EMAIL PROTECTED]   ������ z   k%   ������� z   k%   
>>>>> ������ z   k
>>>>> %   ���� z@   % �%
>>>>> We're running Apache on an IBM AS/400 machine, so our instance of
>>>>> Apache might not like the 'application/json' content type.  Have you
>>>>> heard of this before?  Can the Apache config file impact the content
>>>>> types the Apache Web Server is willing to serve up?
>>>>> Thanks!
>>>>> On Apr 14, 4:12 pm, Michael  Stillwell <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>> That works fine for me; see:
>>>>>> http://beebo.org/scratch/test.html
>>>>>> which Ajax.Requests:
>>>>>> http://beebo.org/scratch/test.php
>>>>>> --M.
>>>>>> On Apr 14, 9:53 pm, broberts <[EMAIL PROTECTED]> wrote:
>>>>>>> {
>>>>>>>         "response": {
>>>>>>>                 "status":     "ok",
>>>>>>>                 "purpose":    "user",
>>>>>>>                 "rtncod":     "1234",
>>>>>>>                 "body":       "It worked"
>>>>>>>         }
>>>>>>> }
>>>>>>> On Apr 14, 3:13 pm, Michael  Stillwell <[EMAIL PROTECTED]>
>>>>>>> wrote:
>>>>>>>> On Apr 14, 6:35 pm, broberts <[EMAIL PROTECTED]> wrote:
>>>>>>>>> In Firefox 2.x and IE6 (the browsers I've tested in thus far), the
>>>>>>>>> responseJSON property of the Ajax.Response object is null when I
>>>>> set
>>>>>>>>> the response content-type to "application/json".
>>>>>>>> That should work.  What's the exact JSON that's being returned from
>>>>>>>> the server?  If it's a string it needs to be quoted:
>>>>>>>>   "Hello, World!"
>>>>>>>> --M.
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to rubyonrails-spinoffs@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to