couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nitin Borwankar <ni...@borwankar.com>
Subject Re: couch returning text/plain for responses - is this correct ?
Date Sun, 02 Aug 2009 08:14:28 GMT
Nitin Borwankar wrote:
> Paul Davis wrote:
>> On Sun, Aug 2, 2009 at 3:44 AM, Nitin Borwankar<nitin@borwankar.com> 
>> wrote:
>>  
>>> Starting a separate thread as this was discovered at the end of a long
>>> thread about jQuery/callback=? etc.
>>>
>>> Here's what I am seeing.  Wondering if this is supposed to be this 
>>> way and
>>> why that might be ?
>>>
>>> curl -v http://localhost:5984/
>>>
>>> * About to connect() to localhost port 5984 (#0)
>>> *   Trying 127.0.0.1... connected
>>> * Connected to localhost (127.0.0.1) port 5984 (#0)
>>>    
>>>> GET / HTTP/1.1
>>>> User-Agent: curl/7.19.3 (i386-apple-darwin9.6.0) libcurl/7.19.3 
>>>> zlib/1.2.3
>>>> Host: localhost:5984
>>>> Accept: */*
>>>>
>>>>       
>>> < HTTP/1.1 200 OK
>>> < Server: CouchDB/0.9.0 (Erlang OTP/R12B)
>>> < Date: Sun, 02 Aug 2009 07:42:07 GMT
>>> < Content-Type: text/plain;charset=utf-8   
>>> <-------===============---------
>>>  note text/plain
>>> < Content-Length: 40
>>> < Cache-Control: must-revalidate
>>> <
>>> {"couchdb":"Welcome","version":"0.9.0"}
>>> * Connection #0 to host localhost left intact
>>> * Closing connection #0
>>>
>>>
>>> This appears to be the same for results of views etc as well.
>>>
>>> I am on CouchDBX 0.9.0 on Intel Leopard 10.5.7
>>>
>>> Thanks,
>>>
>>> Nitin
>>>
>>>
>>>
>>>
>>>
>>>     
>>
>> Yep this is expected because if we return application/json by default
>> then browsers will prompt users to download instead of displaying the
>> output. There were a couple awesome bike shed discussions on it. See
>> also the end responses with a newline threads if you're feeling
>> masochistic.
>>
>> For reference the end result was return text/plain unless the client
>> asks for application/json.
>>
>> Paul
>>   
>
>
>
> OK, so curl -v -H gives me the right response - but setting teh 
> contentType in $.ajax() still gives a text/plain back which I have to 
> JSON.parse().
>
> This may be a jQuery issue - in any case
>
> a) I know how to get it to work
> b) I know now why it has to be that way - I figured it was related to 
> making it easire to debug and just to see what was happening.
>    Right decision I think but it might help to document prominently in 
> the wiki.  Happy to write something up if you tell me the right place 
> to put it.
>
> Nitin
>
>
>
>
OK, so here's the problem - $.ajax wants a dataType param not a contentType.
The following works

                                    $.ajax({
                                        type: "GET",
                                        url: "http://localhost:5984/,
                                        dataType: "json",
                                        success:     function(data){ 
alert(data.version); },
                                        error:     function(data){ 
alert('try harder'); }                       
                                    });

This is a good test piece of code and should return the version number 
of your couch instance assuming a default location and port.

Again happy to document on wiki given some direction as to the right place.


Nitin









Mime
View raw message