aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/app
diff options
context:
space:
mode:
authorDmytro Vasin <dmytro.vasin@gmail.com>2017-04-13 16:58:36 +0300
committerDmytro Vasin <dmytro.vasin@gmail.com>2017-04-13 16:58:36 +0300
commitdb65f73f2e442eb87228f604d28af2548e7dd823 (patch)
treebf9c646a447ef8d1e144652bed5f6ee821778794 /actionview/app
parentfaca40dfd4032bbe2373210255eb7aa1c6527503 (diff)
downloadrails-db65f73f2e442eb87228f604d28af2548e7dd823.tar.gz
rails-db65f73f2e442eb87228f604d28af2548e7dd823.tar.bz2
rails-db65f73f2e442eb87228f604d28af2548e7dd823.zip
Fix mistake in JS response parser:
- Restore ability to accept ecmascript JS response should not modify DOM.
Diffstat (limited to 'actionview/app')
-rw-r--r--actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee6
1 files changed, 3 insertions, 3 deletions
diff --git a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
index 6fabddf65c..26df7b9a3f 100644
--- a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
+++ b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee
@@ -64,10 +64,10 @@ processResponse = (response, type) ->
if typeof response is 'string' and typeof type is 'string'
if type.match(/\bjson\b/)
try response = JSON.parse(response)
- else if type.match(/\bjavascript\b/)
+ else if type.match(/\b(?:java|ecma)script\b/)
script = document.createElement('script')
- script.innerHTML = response
- document.body.appendChild(script)
+ script.text = response
+ document.head.appendChild(script).parentNode.removeChild(script)
else if type.match(/\b(xml|html|svg)\b/)
parser = new DOMParser()
type = type.replace(/;.+/, '') # remove something like ';charset=utf-8'