diff options
Diffstat (limited to 'httemplate/elements/xmlhttp.html')
-rw-r--r-- | httemplate/elements/xmlhttp.html | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/httemplate/elements/xmlhttp.html b/httemplate/elements/xmlhttp.html deleted file mode 100644 index ac6f9916e..000000000 --- a/httemplate/elements/xmlhttp.html +++ /dev/null @@ -1,112 +0,0 @@ -<%doc> - -Example: - - include( '/elements/xmlhttp.html', - # required - 'url' => $p.'misc/something.html', - 'subs' => [ 'subroutine' ], - - # optional - 'method' => 'GET', #defaults to GET, could specify POST - 'key' => 'unique', #unique key - - ); - -</%doc> -<% include( '/elements/rs_init_object.html' ) %> -<SCRIPT TYPE="text/javascript"> - -% foreach my $func ( @{$opt{'subs'}} ) { -% -% my $furl = $url; -% $furl =~ s/\"/\\\\\"/; #javascript escape -% -% - - - function <%$key%><%$func%>() { - // count args; build URL - var url = "<%$furl%>"; - var a = <%$key%><%$func%>.arguments; - - var args; - var len; - var content = 'sub=<% uri_escape($func) %>'; - if ( a && typeof a == 'object' && a[0].constructor == Array ) { - args = a[0]; - len = args.length - } else { - args = a; - len = args.length - 1; - } - for (var i = 0; i < len; i++) - content = content + "&arg=" + escape(args[i]); - content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs - - if ( '<%$method%>' == 'GET' ) { - url = url + content; - } - - //alert('<%$method%> ' + url); - - var xmlhttp = rs_init_object(); - xmlhttp.open("<%$method%>", url, true); - - xmlhttp.onreadystatechange = function() { - if (xmlhttp.readyState != 4) - return; - - if (xmlhttp.status != 200) { - if ( xmlhttp.status != 0 ) { - //not warning on the 0 errors, they pop up when navagating away - // from the page - alert(xmlhttp.status + " status connecting to " + url); - } - } else { - var data = xmlhttp.responseText; - //alert('received response: ' + data); - a[a.length-1](data); - if ( data.indexOf("<b>System error</b>") > -1 ) { - var w; - if ( w = window.open("about:blank") ) { - w.document.write(data); - } else { - // popup blocking? should use an overlib popup instead - alert("Error popup disabled; try disabling popup blocking to see"); - } - } - } - } - - if ( '<%$method%>' == 'POST' ) { - - xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - xmlhttp.send(content); - - } else { - - xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); - xmlhttp.send(null); - - } - - //rs_debug("x_$func_name url = " + url); - //rs_debug("x_$func_name waiting.."); - } -% } - - -</SCRIPT> -<%init> -my ( %opt ) = @_; - -my $url = $opt{'url'}; -my $method = exists($opt{'method'}) ? $opt{'method'} : 'GET'; -#my @subs = @{ $opt{'subs'}; -my $key = exists($opt{'key'}) ? $opt{'key'} : ''; - -$url .= ( ($url =~ /\?/) ? '&' : '?' ) - if $method eq 'GET'; - -</%init> |