Bug Tracker

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#8697 closed bug (duplicate)

$.ajax fails when data contains '??'

Reported by: stuart.turner@… Owned by:
Priority: undecided Milestone: 1.next
Component: ajax Version: 1.5
Keywords: Cc:
Blocked by: Blocking:

Description

Example code:

var js = JSON.stringify({ note: 'questions?? more information' });
$.ajax({
    data: js,
    dataType: "json",
    success: function (data) { }
    error: function (XMLHttpRequest, textStatus, errorThrown) { }
});

I believe that the issue lies in ajaxPrefilter. The jsre is too aggressive and matches the first '??' it finds anywhere in the data string. The '??' gets replaced w/ an anonymous callback function name, such that the server receives the note field as:

    questionsjQuery<anonymous numbering> more information

On return from the server, the ajax call cannot find the anonymous function and goes straight to the error handling instead of calling the success function.

Change History (4)

comment:1 Changed 9 years ago by stuart.turner@…

I apologize for not using jsFiddle. Here is a test case: http://jsfiddle.net/R5g7C/

comment:2 Changed 9 years ago by timmywil

Confirmed and validated json, http://jsfiddle.net/timmywil/R5g7C/3/

And switched to jQuery(edge)

Last edited 9 years ago by timmywil (previous) (diff)

comment:3 Changed 9 years ago by jaubourg

Component: unfiledajax
Resolution: duplicate
Status: newclosed

comment:4 Changed 9 years ago by jaubourg

Duplicate of #8417.

Note: See TracTickets for help on using tickets.