| /** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // AMQ Ajax Adapter for jQuery |
| // This class provides an adapter interface for the jquery library to perform |
| // some of the library-dependent tasks...namely logging and ajax. |
| |
| var org = org || {}; |
| org.activemq = org.activemq || {}; |
| |
| org.activemq.AmqAdapter = { |
| |
| init: function(options) { |
| }, |
| |
| /** |
| * Implement this method to make an AJAX call to the AjaxServlet. An |
| * options object will accompany this class and will contain the properties |
| * that describe the details of the AJAX call. The options object will |
| * have the following properties: |
| * |
| * - method: 'get' or 'post' |
| * - data: query data to accompany the post or get. |
| * - success: A callback function that is invoked upon successful |
| * completion of the AJAX call. The parameter is: |
| * - data: The result of the AJAX call. In the case of XML |
| * data should resolve to a Document element. |
| * - error: A callback when some type of error occurs. The callback |
| * function's parameters should be: |
| * - xhr: The XmlHttpRequest object. |
| * - status: A text string of the status. |
| * - ex: The exception that caused the error. |
| * - headers: An object containing additional headers for the ajax request. |
| */ |
| ajax: function(uri, options) { |
| request = { |
| url: uri, |
| data: options.data, |
| success: options.success || function(){}, |
| error: options.error || function(){} |
| } |
| var headers = {}; |
| if( options.headers ) { |
| headers = options.headers; |
| } |
| |
| if (options.method == 'post') { |
| request.type = 'POST'; |
| /* Force "Connection: close" for Mozilla browsers to work around |
| * a bug where XMLHttpReqeuest sends an incorrect Content-length |
| * header. See Mozilla Bugzilla #246651. |
| */ |
| headers[ 'Connection' ] = 'close'; |
| } else { |
| request.type = 'GET'; |
| request.dataType = 'xml'; |
| } |
| |
| if( headers ) { |
| request.beforeSend = function(xhr) { |
| for( h in headers ) { |
| xhr.setRequestHeader( h, headers[ h ] ); |
| } |
| } |
| } |
| |
| jQuery.ajax( request ); |
| }, |
| |
| log: function(message, exception) { |
| if (typeof console != 'undefined' && console.log) console.log(message); |
| } |
| }; |