I am doing something encodeURIComponent(url) in a wordpress plugin, would
that help?

On 12/6/07, Ben Bennett <[EMAIL PROTECTED]> wrote:
>
>
> Sadly. That doesn't do it either.
>
> I am deliberately trying to send a ? (since the bug occurred when a
> user typed it into an input box that I use as the basis of an AJAX
> request).  The bug occurs because jQuery is treating =? as a special
> string, but it can happen for mundane reasons, and there is no way to
> disable the behavior.
>
> -ben
>
> On Dec 6, 11:30 am, "Benjamin Sterling"
> <[EMAIL PROTECTED]> wrote:
> > Ben, (its like talking to myself)
> > Put cache:true into your ajax call, the ? is to prevent caching.
> >
> > On 12/6/07, Ben Bennett <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> >
> > > Is this the wrong forum for this question?  Should I take it to the
> > > dev list or put it in the bug tracker?
> >
> > > Thanks,
> >
> > > -ben
> >
> > > On Dec 4, 2:00 pm, Ben Bennett <[EMAIL PROTECTED]> wrote:
> > > > This is my first post so I really should thank everyone for a
> > > > fanatastic library.
> >
> > > > However, I think I have found a bug...
> >
> > > > Using jQuery 1.2.1, if I have:
> >
> > > > $.ajax({
> > > >   type: "POST",
> > > >   url: "test.html",
> > > >   dataType: "json",
> > > >   data: {query: queryString},
> >
> > > > });
> >
> > > > When queryString starts with a ? it will get converted to
> > > > jsonp1231234124...
> >
> > > > This is clearly happening because of the code at line 2226 of the
> full
> > > > release version:
> > > >                 // Build temporary JSONP function
> > > >                 if ( s.dataType == "json" && (s.data &&
> > > > s.data.match(jsre) || s.url.match(jsre)) ) {
> > > >                         jsonp = "jsonp" + jsc++;
> >
> > > >                         // Replace the =? sequence both in the query
> > > > string and the data
> > > >                         if ( s.data )
> > > >                                 s.data = s.data.replace(jsre, "=" +
> > > > jsonp);
> > > >                         s.url = s.url.replace(jsre, "=" + jsonp);
> >
> > > > ...
> >
> > > > But I see no way to prevent that from happening.
> >
> > > > Now... one might suggest that I should avoid a leading ? in my
> option
> > > > names.  But I am taking them from input boxes and ? is a valid thing
> > > > for a user to type.  Unfortunately there seems to be no good way to
> > > > escape the string to prevent this behavior (without teaching the
> > > > called code how to unescape it).
> >
> > > > Also, the docs don't mention that the =? escaping happens to a json
> > > > dataType... I see it for jsonp.
> >
> > > > Is this behavior intentional?  If so, there should be a way to
> > > > suppress it or at a way for the calling code to escape the values to
> > > > cause a leading ? to be passed to the server.
> >
> > > > -ben
> >
> > --
> > Benjamin
> Sterlinghttp://www.KenzoMedia.comhttp://www.KenzoHosting.comhttp://www.benjaminsterling.com
>



-- 
Benjamin Sterling
http://www.KenzoMedia.com
http://www.KenzoHosting.com
http://www.benjaminsterling.com

Reply via email to