#8054 closed bug (fixed)
Regex in ajaxPrefilter of JSON data type should not be valid
Reported by: | Owned by: | jaubourg | |
---|---|---|---|
Priority: | high | Milestone: | 1.5 |
Component: | ajax | Version: | 1.5rc1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: | #5812 |
Description
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString /* internal */ ) { dataIsString = ( typeof s.data === "string" ); if ( s.dataTypes[ 0 ] === "jsonp" || originalSettings.jsonpCallback || originalSettings.jsonp != null || s.jsonp !== false && ( jsre.test( s.url ) || dataIsString && jsre.test( s.data ) ) ) {
From the above code, jQuery use jsre Regex to test current data. It return true when my data contain "?" symbol that is cause of bug when it process callback data as script instead of Json. The following code is my Json result that is generated by .NET JSON serializer. It can be correctly parsed when parser is parseJSON function instead of globalEval function.
{"ErrorList":{},"IsComplete":true,"RedirectTo":null,"ResultData":null}
Thanks,
Change History (7)
comment:1 Changed 13 years ago by
comment:2 Changed 13 years ago by
Component: | unfiled → ajax |
---|---|
Owner: | set to Soul_Master@… |
Status: | new → pending |
Thanks for taking the time to contribute to the jQuery project by writing a bug report.
Please submit a reduced test case, which reproduces the issue you are experiencing, on http://jsfiddle.net. So that we can investigate this issue further.
comment:3 Changed 13 years ago by
Owner: | changed from Soul_Master@… to jaubourg |
---|---|
Status: | pending → assigned |
comment:4 Changed 13 years ago by
Priority: | undecided → high |
---|
test case check the inline comments
Introduced with the fix for #4897.
Related reading http://tools.ietf.org/html/rfc2396
comment:5 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixes #8054 by reverting feature enhancement 5812 (4920). Regexps no longer searches for %3F in url or data to find jsonp callback placeholders.
Changeset: 325dcdc2ab05173f809b9d83af59918b3695cc23
comment:6 Changed 13 years ago by
Blocking: | 5812 added |
---|
(In #5812) This enhancement breaks legitimate uses of ? in url or data.
comment:7 Changed 13 years ago by
Milestone: | 1.next → 1.5 |
---|
For more information, my current data of this AJAX is the following code.