| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <!-- |
| 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. |
| --> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <title>Thrift Javascript Bindings - Tutorial Example</title> |
| |
| <script src="../../lib/js/thrift.js" type="text/javascript"></script> |
| <script src="../gen-js/tutorial_types.js" type="text/javascript"></script> |
| <script src="../gen-js/shared_types.js" type="text/javascript"></script> |
| <script src="../gen-js/SharedService.js" type="text/javascript"></script> |
| <script src="../gen-js/Calculator.js" type="text/javascript"></script> |
| |
| <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> |
| |
| |
| <script type="text/javascript" charset="utf-8"> |
| //<![CDATA[ |
| $(document).ready(function(){ |
| // remove pseudo child required for valid xhtml strict |
| $("#op").children().remove(); |
| // add operations to it's dropdown menu |
| $.each(Operation, function(key, value) { |
| $('#op').append($("<option></option>").attr("value",value).text(key)); |
| }); |
| |
| $('table.calculator').attr('width', 500); |
| }); |
| |
| function calc() { |
| var transport = new Thrift.Transport("/thrift/service/tutorial/"); |
| var protocol = new Thrift.Protocol(transport); |
| var client = new CalculatorClient(protocol); |
| |
| var work = new Work() |
| work.num1 = $("#num1").val(); |
| work.num2 = $("#num2").val(); |
| work.op = $("#op").val(); |
| |
| try { |
| result = client.calculate(1, work); |
| $('#result').val(result); |
| $('#result').css('color', 'black'); |
| } catch(ouch){ |
| $('#result').val(ouch.why); |
| $('#result').css('color', 'red'); |
| } |
| } |
| |
| function auto_calc() { |
| if ($('#autoupdate:checked').val() !== undefined) { |
| calc(); |
| } |
| } |
| //]]> |
| </script> |
| |
| </head> |
| <body> |
| <h2>Thrift Javascript Bindings</h2> |
| <form action=""> |
| <table class="calculator"> |
| <tr> |
| <td>num1</td> |
| <td><input type="text" id="num1" value="20" onkeyup="javascript:auto_calc();"/></td> |
| </tr> |
| <tr> |
| <td>Operation</td> |
| <td><select id="op" size="1" onchange="javascript:auto_calc();"><option></option></select></td> |
| </tr> |
| <tr> |
| <td>num2</td> |
| <td><input type="text" id="num2" value="5" onkeyup="javascript:auto_calc();"/></td></tr> |
| <tr> |
| <td>result</td> |
| <td><input type="text" id="result" value=""/></td></tr> |
| <tr> |
| <td><input type="checkbox" id="autoupdate" checked="checked"/>autoupdate</td> |
| <td><input type="button" id="calculate" value="calculate" onclick="javascript:calc();"/></td> |
| </tr> |
| </table> |
| </form> |
| |
| <p>This Java Script example uses <a href="https://svn.apache.org/repos/asf/thrift/trunk/tutorial/tutorial.thrift">tutorial.thrift</a> and a Thrift server using JSON protocol and HTTP transport. |
| </p> |
| <p> |
| <a href="http://validator.w3.org/check/referer"><img |
| src="http://www.w3.org/Icons/valid-xhtml10" |
| alt="Valid XHTML 1.0!" height="31" width="88" /></a> |
| </p> |
| </body> |
| </html> |