summaryrefslogtreecommitdiff
path: root/src/runtime/javascript/minibar/support.js
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-06-21 16:10:44 +0000
committerhallgren <hallgren@chalmers.se>2011-06-21 16:10:44 +0000
commit49c27436f5122dd316d199badc94879dec743ee8 (patch)
tree374d1dad2d7af42fb4f0db8d4a0ee982056b7399 /src/runtime/javascript/minibar/support.js
parente1385da05042ebec1c46e1f9029720ac0d873d77 (diff)
minibar support.js: add function ajax_http_post for posting FormData
Diffstat (limited to 'src/runtime/javascript/minibar/support.js')
-rw-r--r--src/runtime/javascript/minibar/support.js41
1 files changed, 26 insertions, 15 deletions
diff --git a/src/runtime/javascript/minibar/support.js b/src/runtime/javascript/minibar/support.js
index f6c7d7dc6..743ace3de 100644
--- a/src/runtime/javascript/minibar/support.js
+++ b/src/runtime/javascript/minibar/support.js
@@ -63,27 +63,38 @@ function GetXmlHttpObject(handler)
return objXMLHttp
}
-function ajax_http_get(url,callback,errorcallback) {
+function ajax_http(method,url,body,callback,errorcallback) {
var http=GetXmlHttpObject()
- if (http==null) {
- alert ("Browser does not support HTTP Request")
- return
- }
- var statechange=function() {
- if (http.readyState==4 || http.readyState=="complete") {
- if(http.status<300) callback(http.responseText,http.status);
- else if(errorcallback) errorcallback(http.responseText,http.status);
- else alert("Request for "+url+" failed: "
- +http.status+" "+http.statusText);
+ if (!http) {
+ var errortext="Browser does not support HTTP Request";
+ if(errorcallback) errorcallback(errortext,500)
+ else alert(errortext)
+ }
+ else {
+ var statechange=function() {
+ if (http.readyState==4 || http.readyState=="complete") {
+ if(http.status<300) callback(http.responseText,http.status);
+ else if(errorcallback) errorcallback(http.responseText,http.status);
+ else alert("Request for "+url+" failed: "
+ +http.status+" "+http.statusText);
+ }
}
+ http.onreadystatechange=statechange;
+ http.open(method,url,true)
+ http.send(body)
}
- http.onreadystatechange=statechange;
- http.open("GET",url,true)
- http.send(null)
- //dump("http get "+url+"\n")
return http
}
+function ajax_http_get(url,callback,errorcallback) {
+ ajax_http("GET",url,null,callback,errorcallback)
+}
+
+function ajax_http_post(url,formdata,callback,errorcallback) {
+ ajax_http("POST",url,formdata,callback,errorcallback)
+ // See https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest#Using_FormData_objects
+}
+
// JSON via AJAX
function ajax_http_get_json(url,cont) {
ajax_http_get(url,function(txt) { cont(eval("("+txt+")")); });