incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Davis <paul.joseph.da...@gmail.com>
Subject Re: callback=? parameter expected by jQuery $.ajax() causes couch to complain about bad URL
Date Sun, 02 Aug 2009 06:07:59 GMT
On Sun, Aug 2, 2009 at 2:01 AM, Nitin Borwankar<nitin@borwankar.com> wrote:
> Paul Davis wrote:
>>
>> On Sun, Aug 2, 2009 at 12:36 AM, Nitin Borwankar<nitin@borwankar.com>
>> wrote:
>>
>>>
>>> Paul Davis wrote:
>>>
>>>>
>>>> On Sat, Aug 1, 2009 at 11:42 PM, Nitin Borwankar<nitin@borwankar.com>
>>>> wrote:
>>>>
>>>>
>>>>>
>>>>> Paul Davis wrote:
>>>>>
>>>>>
>>>>>>
>>>>>> Nitin,
>>>>>>
>>>>>> Its not 0.9.1 either, the minor versions are bug fixes only. You'll
>>>>>> have to either wait for 0.10.0 or ride trunk to get JSONP.
>>>>>>
>>>>>> There's nothing with content-type to worry about. The only thing
I'm
>>>>>> not sure of is if we fixed the _ parameter rejection or not. If not
>>>>>> you can just add ignore=true to JSONP requests.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> So for now if  I want to make couch REST calls via javascript in the
>>>>> browser
>>>>>  - I use couch.js ?  jquery.couch.js ?
>>>>>
>>>>> Nitin
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> JSONP is only required for cross domain requests. If you're using
>>>> CouchApps then you can just call to the hosting URL of interest using
>>>> normal jquery calls. If you do need the cross domain requests then
>>>> there really isn't anything that can be done for 0.9 other than
>>>> writing a proxy or overcoming the limitations with a proxy or some
>>>> other approach.
>>>>
>>>>
>>>>
>>>
>>> Hi Paul,
>>>
>>> Thanks again for sticking with me on this -
>>>
>>> ok, so right now everything is on my laptop - client server everything.
>>> I have couchdbx, I am testing from a file:// url with safari and FF3.5
>>>
>>> I have a file with html, jquery and a $.ajax() call to
>>> localhost:5984/........./ parm=val&parm=val&parm=val&callback=?
>>> I get an error from couch complaining about a bad param ie. the
>>> callback=?
>>>
>>> Here's the jQuery code
>>>
>>>
>>>      $(document).ready(function() {
>>>          alert("indoc");
>>>
>>>          $.ajax({
>>>                //url:
>>> "http://twitter.com/status/user_timeline/nitin.json?count=10&callback=?",
>>>               // the above twitter url works an returns valid json
>>>
>>>                url:
>>>
>>> "http://localhost:5984/ptest2/_design/vt2/_view/tag?group=true&limit=5&callback=?",
>>>                type: "GET",
>>>                dataType: "json",
>>>                success: function(msg){
>>>                   alert(msg);
>>>                },
>>>                error: function(msg){
>>>                  alert('failed to get json');
>>>                }
>>>              });
>>>
>>>          alert('after $.ajax');
>>>            });
>>>
>>> The failed alert comes up.
>>>
>>> I tried the url in a browser, here's what I got
>>>
>>> {"error":"query_parse_error","reason":"Bad URL query
>>> key:callback"}
>>>
>>>
>>> This is all I need to get working - so is this "cross domain ?"  I'm not
>>> sure.    Once this works I can get this stuff working inside a couchapp
>>> but
>>> for now I need to make it work with a jQuery request just so I understand
>>> what's going on, stripped to the bare essentials.
>>>
>>> If couch complains about the extra callback param I am not sure this is a
>>> cross-domain issue - but I don't understand the nuance of that issue well
>>> enough.
>>>
>>> Any help to get me over this hump much appreciated - I am already 2-3
>>> days
>>> of straight head banging trying to get beyond this.
>>>
>>> Nitin
>>>
>>>
>>
>> Cross domain refers to where your code is loading from. If you're
>> loading from file:// my guess is that this won't work properly. If you
>> put it in a CouchApp to test so that you're loading from a URL like:
>>
>> http://127.0.0.1:5984/db_name/_design/foo/_attachments/my.html
>>
>
> Two questions.
>
> a) there's no '_attachments' in the URL is there ?  - it's working for me
> without the _attachments but not with.

Duh. Yeah, my bad.

>
> b) this is what I was doing before I tried to make it work with the file://
> But not using a callback=? param and using the following url - just to see
> if I can get any json at all -
>
> $.get("http://localhost:5984/", function(data){ alert(data); } );
>
> gives me an alert with nothing in it.
>

Where are you loading this code from? Is it in an attachment on a doc
in CouchDB? Can you perhaps make a simple HTML doc with some AJAX in
it and try loading that from CouchDB to see what happens?

Paul

> Nitin
>>
>> Then you can just make AJAX call's directly from the page without
>> worrying about the callback parameter at all. This is probably what
>> you want.
>>
>> If not, then you'll need to upgrade.
>>
>> HTH,
>> Paul Davis
>>
>>
>>>>
>>>> HTH,
>>>> Paul Davis
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Paul
>>>>>>
>>>>>> On Sat, Aug 1, 2009 at 10:43 PM, Nitin Borwankar<nitin@borwankar.com>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Paul Joseph Davis wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Ntitn,
>>>>>>>>
>>>>>>>> Are you on couchdb trunk? Pretty sure jsonp was after 0.9.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Hey Paul,
>>>>>>>
>>>>>>> Thanks much
>>>>>>>
>>>>>>> I am on couchdbx 0.9 on leopard 10.5.7
>>>>>>>
>>>>>>> Is jsonp in 0.9.1 ?  That would be motivation for me to move.
>>>>>>>
>>>>>>> Also assuming the answer is yes - in the new improved couch -
do I
>>>>>>> just
>>>>>>> use
>>>>>>> the callback=? on the client request or do I have to do something
in
>>>>>>> my
>>>>>>> views to set content-type? as well.
>>>>>>>
>>>>>>> Thanks much,
>>>>>>>
>>>>>>> Nitin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Paul Davis
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Aug 1, 2009, at 9:57 PM, Nitin Borwankar <nitin@borwankar.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hello all,
>>>>>>>>>
>>>>>>>>> I  have been banging my head against this wall for 2
days and I
>>>>>>>>> finally
>>>>>>>>> made
>>>>>>>>> a crack ---
>>>>>>>>>
>>>>>>>>> Trying to use jQuery, $.ajax()  in an app that calls
couchdb api -
>>>>>>>>> not
>>>>>>>>> using
>>>>>>>>> ( cannot use ) couchapp must call from legacy app.
>>>>>>>>> Couldn't get a successful response.
>>>>>>>>>
>>>>>>>>> finally just put the get query into firefx and go the
following
>>>>>>>>> which
>>>>>>>>> explains why it's not working - but not a clue how to
work around
>>>>>>>>> this.
>>>>>>>>>
>>>>>>>>> get query:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://localhost:5984/ptest2/_design/vt2/_view/tag?group=true&limit=5&callback=
>>>>>>>>> ?
>>>>>>>>> couch responds: {"error":"query_parse_error","reason":"Bad
URL
>>>>>>>>> query
>>>>>>>>> key:callback"}
>>>>>>>>>
>>>>>>>>> I don't have the option to use either couch.js or jquery.couch.js
>>>>>>>>> but
>>>>>>>>> have
>>>>>>>>> to use vanilla jQuery ajax calls $.get, $.ajax, $.post,
$,getJSON
>>>>>>>>> etc.
>>>>>>>>>
>>>>>>>>> Am I stuck without any help possible ?
>>>>>>>>>
>>>>>>>>> Nitin
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 37% of all statistics are made up on the spot
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------------------------------------------------------------------------------------
>>>>>>>>> Nitin Borwankar
>>>>>>>>> nborwankar@gmail.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>

Mime
View raw message