Modify ↓
Ticket #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: | ||
| Blocking: | Blocked by: |
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
comment:2 Changed 2 years ago by timmywil
Confirmed and validated json, http://jsfiddle.net/timmywil/R5g7C/3/
And switched to jQuery(edge)
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

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