From 94e36ef363eab3a1c6dcbf6d847ab26c9259d9e5 Mon Sep 17 00:00:00 2001 From: Thomas Fuchs Date: Thu, 18 Jan 2007 20:29:02 +0000 Subject: Update prototype.js to [5985], fixes content-type issue with simulated HTTP methods git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5988 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../lib/action_view/helpers/javascripts/prototype.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'actionpack/lib/action_view') diff --git a/actionpack/lib/action_view/helpers/javascripts/prototype.js b/actionpack/lib/action_view/helpers/javascripts/prototype.js index cedfeeee21..505822177b 100644 --- a/actionpack/lib/action_view/helpers/javascripts/prototype.js +++ b/actionpack/lib/action_view/helpers/javascripts/prototype.js @@ -833,25 +833,26 @@ Ajax.Request.prototype = Object.extend(new Ajax.Base(), { request: function(url) { this.url = url; - var params = this.options.parameters, method = this.options.method; + this.method = this.options.method; + var params = this.options.parameters; - if (!['get', 'post'].include(method)) { + if (!['get', 'post'].include(this.method)) { // simulate other verbs over post - params['_method'] = method; - method = 'post'; + params['_method'] = this.method; + this.method = 'post'; } params = Hash.toQueryString(params); if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) params += '&_=' // when GET, append parameters to URL - if (method == 'get' && params) + if (this.method == 'get' && params) this.url += (this.url.indexOf('?') > -1 ? '&' : '?') + params; try { Ajax.Responders.dispatch('onCreate', this, this.transport); - this.transport.open(method.toUpperCase(), this.url, + this.transport.open(this.method.toUpperCase(), this.url, this.options.asynchronous); if (this.options.asynchronous) @@ -860,7 +861,7 @@ Ajax.Request.prototype = Object.extend(new Ajax.Base(), { this.transport.onreadystatechange = this.onStateChange.bind(this); this.setRequestHeaders(); - var body = method == 'post' ? (this.options.postBody || params) : null; + var body = this.method == 'post' ? (this.options.postBody || params) : null; this.transport.send(body); @@ -887,7 +888,7 @@ Ajax.Request.prototype = Object.extend(new Ajax.Base(), { 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' }; - if (this.options.method == 'post') { + if (this.method == 'post') { headers['Content-type'] = this.options.contentType + (this.options.encoding ? '; charset=' + this.options.encoding : ''); -- cgit v1.2.3