aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrazh <razh@users.noreply.github.com>2019-03-17 14:38:23 -0400
committerrazh <razh@users.noreply.github.com>2019-03-17 14:50:39 -0400
commit2674fe38eb61b152e953a1a122040e119fd9f802 (patch)
tree05b1d95d829a22a0653c1fce8116767880fc1715
parent98e380f02452ee2597d122c76fd6b3a802f73333 (diff)
downloadrails-2674fe38eb61b152e953a1a122040e119fd9f802.tar.gz
rails-2674fe38eb61b152e953a1a122040e119fd9f802.tar.bz2
rails-2674fe38eb61b152e953a1a122040e119fd9f802.zip
Revert "Pass HTML responses as plain-text in rails-ujs"
This reverts commit 48e44edfd0a8a7a29aa8fad39638ac0ee5243f42. See discussion in #32287 For HTML content in `ajax:success` handlers, `event.detail[0]` should be an `HTMLDocument` instance.
-rw-r--r--actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee2
-rw-r--r--actionview/test/ujs/public/test/call-remote.js11
2 files changed, 1 insertions, 12 deletions
diff --git a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
index 019bda635a..5b223d50f6 100644
--- a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
+++ b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
@@ -69,7 +69,7 @@ processResponse = (response, type) ->
script.setAttribute('nonce', cspNonce())
script.text = response
document.head.appendChild(script).parentNode.removeChild(script)
- else if type.match(/\bxml\b/)
+ else if type.match(/\b(xml|html|svg)\b/)
parser = new DOMParser()
type = type.replace(/;.+/, '') # remove something like ';charset=utf-8'
try response = parser.parseFromString(response, type)
diff --git a/actionview/test/ujs/public/test/call-remote.js b/actionview/test/ujs/public/test/call-remote.js
index 778dc1b09a..c8813bb82a 100644
--- a/actionview/test/ujs/public/test/call-remote.js
+++ b/actionview/test/ujs/public/test/call-remote.js
@@ -128,17 +128,6 @@ asyncTest('execution of JS code does not modify current DOM', 1, function() {
})
})
-asyncTest('HTML content should be plain-text', 1, function() {
- buildForm({ method: 'post', 'data-type': 'html' })
-
- $('form').append('<input type="text" name="content_type" value="text/html">')
- $('form').append('<input type="text" name="content" value="<p>hello</p>">')
-
- submit(function(e, data, status, xhr) {
- ok(data === '<p>hello</p>', 'returned data should be a plain-text string')
- })
-})
-
asyncTest('XML document should be parsed', 1, function() {
buildForm({ method: 'post', 'data-type': 'html' })