Opened 9 years ago
Closed 9 years ago
#14459 closed bug (fixed)
data-* attribute parsing bypasses jQuery.parseJSON (inconsistent with 1.x)
Reported by: | gibson042 | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | 1.11/2.1 |
Component: | data | Version: | 2.0.3 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
2.x data-* attribute parsing directly utilizes JSON.parse, in contrast to both 1.x and the rest of the codebase (i.e., ajax). We should probably switch back to jQuery.parseJSON, but could alternatively switch ajax to JSON.parse. I prefer the former mostly for 1.x consistency.
Change History (6)
comment:1 Changed 9 years ago by
Component: | unfiled → data |
---|---|
Milestone: | None → 1.11/2.1 |
Priority: | undecided → low |
Status: | new → open |
comment:3 follow-up: 4 Changed 9 years ago by
In jQuery 2.x:
(src/ajax/parseJSON.js)
jQuery.parseJSON = JSON.parse;
(src/data.js)
rbrace.test( data ) ? JSON.parse( data ) :
How does it benefit jQuery to go through an alias to the same function?
comment:4 follow-up: 5 Changed 9 years ago by
Replying to rwaldron:
How does it benefit jQuery to go through an alias to the same function?
Duckpunching in a spy (which is how I came across the 1.x/2.x discrepancy) or a behavior tweak (e.g., for jQuery migrate and #13169).
comment:5 Changed 9 years ago by
comment:6 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | open → closed |
Fix #14459: Use jQuery.parseJSON instead of JSON.parse
Changeset: ced9d155f010bc456745a55a63ca959db9d405d3
I agree this should all go through the same path.