diff --git a/lib/$.coffee b/lib/$.coffee index 59e08cbbd..306eba722 100644 --- a/lib/$.coffee +++ b/lib/$.coffee @@ -36,23 +36,15 @@ $.extend = (object, properties) -> for key, val of properties object[key] = val return -$.ajax = (url, callbacks, opts={}) -> - {type, cred, headers, upCallbacks, form, sync} = opts +$.ajax = (url, options, extra={}) -> + {type, headers, upCallbacks, form, sync} = extra r = new XMLHttpRequest() type or= form and 'post' or 'get' r.open type, url, !sync for key, val of headers r.setRequestHeader key, val - $.extend r, callbacks + $.extend r, options $.extend r.upload, upCallbacks - try - # Firefox throws an error if you try - # to set this on a synchronous XHR. - # Only cookies from the remote domain - # are used in a request withCredentials. - r.withCredentials = cred - catch err - # do nothing r.send form r $.cache = do -> diff --git a/src/General/Main.coffee b/src/General/Main.coffee index 0105d43f6..a1dd45ae4 100644 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -345,7 +345,7 @@ Main = <% } %> ).join '\n' return unless errors - $.ajax '<%= meta.page %>errors', {}, + $.ajax '<%= meta.page %>errors', null, sync: true form: $.formData n: "<%= meta.name %> v#{g.VERSION}" diff --git a/src/Menu/DeleteLink.coffee b/src/Menu/DeleteLink.coffee index 7f71d7f6e..b7678e48a 100644 --- a/src/Menu/DeleteLink.coffee +++ b/src/Menu/DeleteLink.coffee @@ -55,10 +55,10 @@ DeleteLink = link = @ $.ajax $.id('delform').action.replace("/#{g.BOARD}/", "/#{post.board}/"), + withCredentials: true onload: -> DeleteLink.load link, post, fileOnly, @response onerror: -> DeleteLink.error link , - cred: true form: $.formData form load: (link, post, fileOnly, html) -> tmpDoc = d.implementation.createHTMLDocument '' diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index 791e7ded0..6a1d339d9 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -959,7 +959,8 @@ QR = recaptcha_challenge_field: challenge recaptcha_response_field: response - callbacks = + options = + withCredentials: true onload: QR.response onerror: -> # Connection error, or @@ -973,8 +974,7 @@ QR = Connection error. You may have been banned. [FAQ] """ - opts = - cred: true + extra = form: $.formData postData upCallbacks: onload: -> @@ -988,7 +988,7 @@ QR = QR.req.progress = "#{Math.round e.loaded / e.total * 100}%" QR.status() - QR.req = $.ajax $.id('postForm').parentNode.action, callbacks, opts + QR.req = $.ajax $.id('postForm').parentNode.action, options, extra # Starting to upload might take some time. # Provide some feedback that we're starting to submit. QR.req.uploadStartTime = Date.now()