Opened 10 years ago
Closed 10 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 10 years ago by
Component: | unfiled → data |
---|---|
Milestone: | None → 1.11/2.1 |
Priority: | undecided → low |
Status: | new → open |
comment:3 follow-up: 4 Changed 10 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 10 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 10 years ago by
comment:6 Changed 10 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.