AJAX framework
[infodrom.org/service.infodrom.org] / src / infodrom.js
diff --git a/src/infodrom.js b/src/infodrom.js
new file mode 100644 (file)
index 0000000..c27a86b
--- /dev/null
@@ -0,0 +1,27 @@
+function ajax_request(funcname, params, callback, error_callback)
+{
+    if (params === null)
+       params = 'func='+funcname;
+    else if (typeof params == 'object')
+       params['func'] = funcname
+    else if (typeof params == 'string')
+       params = 'func='+funcname+'&'+params
+    else
+       return false;
+
+    $.post('/ajax.php', params,
+          function(data){
+              if (!data.status) {
+                  if (typeof data.error == 'string')
+                      var error = data.error;
+                  else
+                      var error = 'An error occurred'
+                  alert(error);
+                  if (typeof error_callback == 'function')
+                      error_callback(data);
+                  return;
+              }
+              if (typeof callback == 'function')
+                  callback(data);
+          });
+}