diff options
author | Raymond Zhou <razh@users.noreply.github.com> | 2018-03-19 02:42:23 -0400 |
---|---|---|
committer | razh <somecrazyidiot@gmail.com> | 2018-03-19 03:24:56 -0400 |
commit | 48e44edfd0a8a7a29aa8fad39638ac0ee5243f42 (patch) | |
tree | 1ae9709f5dd11b7fa10f9bf12dfe950dc8fa6e39 /guides | |
parent | d91e6f1213146e327b47f2a65776c7f4f347a2d6 (diff) | |
download | rails-48e44edfd0a8a7a29aa8fad39638ac0ee5243f42.tar.gz rails-48e44edfd0a8a7a29aa8fad39638ac0ee5243f42.tar.bz2 rails-48e44edfd0a8a7a29aa8fad39638ac0ee5243f42.zip |
Pass HTML responses as plain-text in rails-ujs
Running HTML responses through `DOMParser#parseFromString` results in
complete `HTMLDocument` instances with unnecessary surrounding tags.
For example:
new DOMParser().parseFromString('<p>hello</p>', 'text/html')
Will output:
<html>
<head></head>
<body>
<p>hello</p>
</body>
</html>
This is passed to the `ajax:success` handler as `event.detail[0]`
(`data`), but cannot be used directly without first traversing the
document.
To resolve this, only XML content is passed through `parseFromString`,
while HTML content is treated as plain-text.
This matches the behavior of jquery-ujs, which relied on jQuery's
response-type inference.
Diffstat (limited to 'guides')
0 files changed, 0 insertions, 0 deletions