diff options
author | Guillermo Iguaran <guilleiguaran@gmail.com> | 2017-10-29 23:28:16 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-29 23:28:16 -0500 |
commit | ee44c1b6f1ca3a8ee685807a940cf02101ed5141 (patch) | |
tree | d423f037031d943d6587cac085e42ebea5803482 /actionview | |
parent | 8479b79a0a4dad21a36e69a4502ff7414c250949 (diff) | |
parent | 8b22725c782a65b2222f7a9ffed6d241c599f2e6 (diff) | |
download | rails-ee44c1b6f1ca3a8ee685807a940cf02101ed5141.tar.gz rails-ee44c1b6f1ca3a8ee685807a940cf02101ed5141.tar.bz2 rails-ee44c1b6f1ca3a8ee685807a940cf02101ed5141.zip |
Merge pull request #31002 from ta1kt0me/call_ajax_without_beforeSend
Call Rails.ajax without beforeSend
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee | 2 | ||||
-rw-r--r-- | actionview/test/ujs/public/test/call-ajax.js | 27 | ||||
-rw-r--r-- | actionview/test/ujs/views/tests/index.html.erb | 2 |
3 files changed, 29 insertions, 2 deletions
diff --git a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee index 4d7848e162..cc0e037428 100644 --- a/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee +++ b/actionview/app/assets/javascripts/rails-ujs/utils/ajax.coffee @@ -21,7 +21,7 @@ Rails.ajax = (options) -> options.error?(response, xhr.statusText, xhr) options.complete?(xhr, xhr.statusText) - unless options.beforeSend?(xhr, options) + if options.beforeSend? && !options.beforeSend(xhr, options) return false if xhr.readyState is XMLHttpRequest.OPENED diff --git a/actionview/test/ujs/public/test/call-ajax.js b/actionview/test/ujs/public/test/call-ajax.js new file mode 100644 index 0000000000..49e64cad5c --- /dev/null +++ b/actionview/test/ujs/public/test/call-ajax.js @@ -0,0 +1,27 @@ +(function() { + +module('call-ajax', { + setup: function() { + $('#qunit-fixture') + .append($('<a />', { href: '#' })) + } +}) + +asyncTest('call ajax without "ajax:beforeSend"', 1, function() { + + var link = $('#qunit-fixture a') + link.bindNative('click', function() { + Rails.ajax({ + type: 'get', + url: '/', + success: function() { + ok(true, 'calling request in ajax:success') + } + }) + }) + + link.triggerNative('click') + setTimeout(function() { start() }, 13) +}) + +})() diff --git a/actionview/test/ujs/views/tests/index.html.erb b/actionview/test/ujs/views/tests/index.html.erb index 8de6cd0695..6b16535216 100644 --- a/actionview/test/ujs/views/tests/index.html.erb +++ b/actionview/test/ujs/views/tests/index.html.erb @@ -1,6 +1,6 @@ <% @title = "rails-ujs test" %> -<%= test_to 'data-confirm', 'data-remote', 'data-disable', 'data-disable-with', 'call-remote', 'call-remote-callbacks', 'data-method', 'override', 'csrf-refresh', 'csrf-token' %> +<%= test_to 'data-confirm', 'data-remote', 'data-disable', 'data-disable-with', 'call-remote', 'call-remote-callbacks', 'data-method', 'override', 'csrf-refresh', 'csrf-token', 'call-ajax' %> <h1 id="qunit-header"><%= @title %></h1> <h2 id="qunit-banner"></h2> |