Sha256: c66a4e4585fe6754a417e8121e213f8c3a0ae50132466a4de3339580c042e2f3

Contents?: true

Size: 1.82 KB

Versions: 15

Compression:

Stored size: 1.82 KB

Contents

// CytoAjax v0.5
// MacKinley Smith
(function($){
	$.cytoAjaxResponse = function(message,type,time){
		if (message==null) message = "Success!";
		if (type==null) type = "success";
		if (time==null) time = 0;
		
		$('.callback_message').hide();
		$('html,body').animate({scrollTop:0},400);
		$('#'+type+"_message").html(message).show(400,function(){
			var $this = $(this);
			if (time) setTimeout(function(){$this.hide(400);},time);
		});
	};
	$.cytoAjax = function(script,data_to_pass,success,error){
		// Set default parameters
		if (typeof script != "string" || script == "") return console.warn("$.cytoAjax requires a string as the first parameter (script).");
		if (data_to_pass==null || typeof data_to_pass != "object") {
			if (typeof data_to_pass == "function") {
				if (success!=null && typeof success == "function") error = success;
				success = data_to_pass;
			}
			data_to_pass = {};
		}
		
		// Make request
		$.ajax({
      url:script,
      type:'POST',
      data:data_to_pass,
      success:function(data,textStatus,jqXHR) {
      	try {
					data = $.parseJSON(data);
				} catch (e) {
					data = $.parseJSON('{"status":"Error","message":"AJAX Return Error: '+e.replace(/"/g,"'")+'<br />'+data.replace(/"/g,"'")+'"}');
				}
				if (data.status=="OK") {
					if (typeof success == "function") success.apply(this,[data]);
					else if (data.message!=null) $.cytoAjaxResponse(data.message);
					else $.cytoAjaxResponse(((typeof success == "string")?success:"Success!"));
				} else if (data.status=="Error") {
					if (data.message != null) $.cytoAjaxResponse(data.message,"error");
					if (typeof error == "function") error.apply(this,[data]);
				}
      },
      error:function(jqXHR,textStatus,errorThrown){
	      if (typeof error == "function") error.apply(this,[{status:"Error",message:errorThrown}]);
      }
    });
	};
})(jQuery);

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
cytoplasm-0.2.8 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.7 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.6 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.5 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.4 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.3 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.2 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.1 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.2.0 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.9 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.8 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.7 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.6 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.5 app/assets/javascripts/cytoplasm/cytoAjax.js.erb
cytoplasm-0.1.4 app/assets/javascripts/cytoplasm/cytoAjax.js.erb