ajax1.html 1/2 lectures/7/src/ ajax1.html 2/2 lectures/7/src/

Similar documents
ajax1.html 1/2 lectures/9/src/ajax/ ajax1.html 2/2 lectures/9/src/ajax/

1 Announcements (0:00 2:00) 2

src1-malan/ajax/ajax1.html ajax1.html Gets stock quote from quote1.php via Ajax, displaying result with alert().

lectures/0/src0/cs76/css/index.html index.html David J. Malan A homepage for the course that mimics ios's UI. 11. <!

blink.html 1/1 lectures/6/src/ form.html 1/1 lectures/6/src/


AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

Ajax Application Design

This is CS50 CS164. Mobile Software Engineering

CORS. Константин Якушев MoscowJS 14,

map1.html 1/1 lectures/8/src/

quiz 1 details wed nov 17, 1pm see handout for locations covers weeks 0 through 10, emphasis on 7 onward closed book bring a , 2-sided cheat she

10.1 Overview of Ajax


CITS1231 Web Technologies. Ajax and Web 2.0 Turning clunky website into interactive mashups

CS 5142 Scripting Languages

Computer Science E-75 Building Dynamic Websites

Networking & The Web. HCID 520 User Interface Software & Technology

LEARN HOW TO USE CA PPM REST API in 2 Minutes!

Wed 02 Nov :01:06 AM EST modpow.html

Networking & The Web. HCID 520 User Interface Software & Technology

Computer Science nd Exam Prof. Papa Thursday, December 8, 2016, 6:00pm 7:20pm

How I Learned to Stop Worrying and Love the KSS

Development of Web Applications

Computer Science nd Exam Prof. Papa Tuesday, April 28, 2016, 6:00pm 7:20pm

Computer Science E-1. Understanding Computers and the Internet. Lecture 10: Website Development Wednesday, 29 November 2006

AJAX and JSON. Day 8

JSON. Dr. Kanda Runapongsa Saikaew Computer Engineering Department

XMLHttpRequest. CS144: Web Applications

HTML HTML. Chris Seddon CRS Enterprises Ltd 1


Building Desktop RIAs with PHP, HTML & Javascript in AIR. Ed Finkler, ZendCon08, September 17, 2008 funkatron.com /

Using netbeans create a new Web Application and select the framework as JSF 2.2

CSC Javascript

/ Introduction to XML

Introduction to HTML5

Scripting for Multimedia LECTURE 1: INTRODUCING HTML5

Introduction to DHTML

introduction to XHTML

Controller/server communication

AJAX Programming Chris Seddon

home.php 1/1 lectures/6/src/ include.php 1/1 lectures/6/src/

Week 1 - Overview of HTML and Introduction to JavaScript

CS134 Web Site Design & Development. Quiz1

Create a cool image gallery using CSS visibility and positioning property

AJAX(Asynchronous Javascript + XML) Creating client-side dynamic Web pages

Multimedia im Netz Online Multimedia Winter semester 2015/16. Tutorial 07 Minor Subject

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components

jquery: JavaScript, Made Easy

CSC 615 FINAL EXAM SINGLE PAGE APPS. 1. Introduction

Documents and computation. Introduction to JavaScript. JavaScript vs. Java Applet. Myths. JavaScript. Standard

Use of PHP for DB Connection. Middle and Information Tier. Middle and Information Tier

1)); getactiveeditors(d, listid); getactiveauthors(d, listid); getcheckedourfilesusercount(listid); getdocumentsbyfiletype(listid); });

Operations Center Web 2.0 Connect Guide. September 2016

Using htmlarea & a Database to Maintain Content on a Website

CSE 130 Programming Language Principles & Paradigms Lecture # 20. Chapter 13 Concurrency. + AJAX Discussion

Controller/server communication

CIW 1D CIW JavaScript Specialist.

Wicket and Aida/Web Brief Comparison

Notes General. IS 651: Distributed Systems 1

Web Programming/Scripting: PHP and AJAX Refresher

HTML Overview. With an emphasis on XHTML

Exam Questions Demo Microsoft. Exam Questions

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

How the Internet Works

jquery and AJAX

Ajax. David Matuszek's presentation,

XAP: extensible Ajax Platform

Web application Architecture

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

Lesson 12: JavaScript and AJAX

Unit Notes. ICAWEB411A Produce basic client-side script for dynamic web pages Topic 1 Introduction to JavaScript

Use of PHP for DB Connection. Middle and Information Tier

User Interaction: jquery

Schenker AB. Interface documentation Map integration

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

AJAX. Introduction. AJAX: Asynchronous JavaScript and XML

Web 2.0 and AJAX. Markus Mühlberger May 6, 2007

Working with Database. Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database


Web development using PHP & MySQL with HTML5, CSS, JavaScript

jquery to connect with DynamoDB via Lambda API March 9-10, 2017 CS160 Section

ASP.NET Security. 7/26/2017 EC512 Prof. Skinner 1

Part A Short Answer (50 marks)

Implementing a chat button on TECHNICAL PAPER

Week Date Teaching Attended 8 1/3/2010 Lab 6: Secure Connections/ Toolkit 6

AJAX and PHP AJAX. Christian Wenz,

REST AND AJAX. Introduction. Module 13

So, if you receive data from a server, in JSON format, you can use it like any other JavaScript object.

It is highly recommended that you are familiar with HTML and JavaScript before attempting this tutorial.

Advanced Web Programming with JavaScript and Google Maps. Voronezh State University Voronezh (Russia) AJAX. Sergio Luján Mora

Web Development and HTML. Shan-Hung Wu CS, NTHU

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly,

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms


CSC 405 Computer Security. Web Security

Internet publishing HTML (XHTML) language. Petr Zámostný room: A-72a phone.:

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

HyperText Markup Language (HTML)

1$ 5 ! $ 6 4 * Source: 0 "!*! 0! * 8 97 ?!$ 5 0 *! 4! $ 0 : * ' () 7;7 7<7

Transcription:

ajax1.html 1/2 3: ajax1.html 5: Gets stock quote from quote1.php via Ajax, displaying result with alert(). 6: 7: David J. Malan 8: Dan Armendariz 9: Computer Science E-75 10: Harvard Extension School 11: 1 --> 13: 1 <!DOCTYPE html PUBLIC 15: "-//W3C//DTD XHTML 1.0 Transitional//EN" 16: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 17: 18: <html xmlns="http://www.w3.org/1999/xhtml"> 19: <head> 20: <script type="text/javascript"> 21: // <![CDATA[ 2 23: // an XMLHttpRequest 2 var xhr = null; 25: 26: /* 27: * void 28: * quote() 29: * 30: * Gets a quote. 31: */ 3 function quote() 33: { 3 // instantiate XMLHttpRequest object 35: try 36: { 37: xhr = new XMLHttpRequest(); 38: } 39: catch (e) 40: { 41: xhr = new ActiveXObject("Microsoft.XMLHTTP"); 4 } 43: 4 // handle old browsers 45: if (xhr == null) 46: { 47: alert("ajax not supported by your browser!"); ajax1.html 2/2 48: return; 49: } 50: 51: // construct URL 5 var url = "quote1.php?symbol=" + document.getelementbyid("symbol").value; 53: 5 // get quote 55: xhr.onreadystatechange = handler; 56: xhr.open("get", url, true); 57: xhr.send(null); 58: } 59: 60: 61: /* 6 * void 63: * handler() 6 * 65: * Handles the Ajax response. 66: */ 67: function handler() 68: { 69: // only handle loaded requests 70: if (xhr.readystate == 4) 71: { 7 if (xhr.status == 200) 73: alert(xhr.responsetext); 7 else 75: alert("error with Ajax call!"); 76: } 77: } 78: 79: // ]]> 80: </script> 81: <title></title> 8 </head> 83: <body> 8 <form action="quote1.php" method="get" onsubmit="quote(); return false;"> 85: Symbol: <input id="symbol" name="symbol" type="text" /> 86: <br /><br /> 87: <input type="submit" value="get Quote" /> 88: </form> 89: </body> 90: </html>

ajax10.html 1/3 3: ajax10.html 5: Gets stock quote from quote6.php via Ajax, inserting result into DOM. 6: Also displays returned JSON in a textarea. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: { ajax10.html 2/3 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // get symbol 53: var symbol = document.getelementbyid("symbol").value; 5 55: // construct URL 56: var url = "quote6.php?symbol=" + symbol; 57: 58: // get quote 59: xhr.onreadystatechange = 60: function() 61: { 6 // only handle loaded requests 63: if (xhr.readystate == 4) 6 { 65: if (xhr.status == 200) 66: { 67: // evaluate JSON 68: var quote = eval("(" + xhr.responsetext + ")"); 69: 70: // show JSON in textarea 71: document.getelementbyid("code").value = xhr.responsetext; 7 73: // insert quote into DOM 7 var div = document.createelement("div"); 75: var text = document.createtextnode(symbol + ": " + quote.price); 76: div.appendchild(text); 77: document.getelementbyid("quotes").appendchild(div); 78: } 79: else 80: alert("error with Ajax call!"); 81: } 8 } 83: xhr.open("get", url, true); 8 xhr.send(null); 85: } 86: 87: // ]]> 88: </script> 89: <title></title> 90: </head> 91: <body> 9 <form onsubmit="quote(); return false;"> 93: Symbol: <input id="symbol" type="text" /> 9 <br /><br />

ajax10.html 3/3 95: <input type="submit" value="get Quote" /> 96: </form> 97: <br /><br /> 98: <div id="quotes"></div> 99: <br /><br /> 100: <textarea cols="80" id="code" rows="16"></textarea> 101: </body> 10 </html> ajax11.html 1/3 3: ajax11.html 5: Gets stock quote from quote7.php via Ajax, inserting result into DOM. 6: Also displays returned JSON in a textarea. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: {

ajax11.html 2/3 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // get symbol 53: var symbol = document.getelementbyid("symbol").value; 5 55: // construct URL 56: var url = "quote7.php?symbol=" + symbol; 57: 58: // get quote 59: xhr.onreadystatechange = 60: function() 61: { 6 // only handle loaded requests 63: if (xhr.readystate == 4) 6 { 65: if (xhr.status == 200) 66: { 67: // evaluate JSON 68: var quote = eval("(" + xhr.responsetext + ")"); 69: 70: // show JSON in textarea 71: document.getelementbyid("code").value = xhr.responsetext; 7 73: // insert quote into DOM 7 var div = document.createelement("div"); 75: var text = document.createtextnode(symbol + ": " + quote.price); 76: div.appendchild(text); 77: document.getelementbyid("quotes").appendchild(div); 78: } 79: else 80: alert("error with Ajax call!"); 81: } 8 } 83: xhr.open("get", url, true); 8 xhr.send(null); 85: } 86: 87: // ]]> 88: </script> 89: <title></title> 90: </head> 91: <body> 9 <form onsubmit="quote(); return false;"> 93: Symbol: <input id="symbol" type="text" /> 9 <br /><br /> ajax11.html 3/3 95: <input type="submit" value="get Quote" /> 96: </form> 97: <br /><br /> 98: <div id="quotes"></div> 99: <br /><br /> 100: <textarea cols="80" id="code" rows="16"></textarea> 101: </body> 10 </html>

ajax12.html 1/2 3: ajax12.html 5: Gets stock quote from quote7.php via Ajax, using YUI s Connection Manager, 6: embedding result in page itself. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script src="http://yui.yahooapis.com/2.5.0/build/yahoo/yahoo.js"></script> 2 <script src="http://yui.yahooapis.com/2.5.0/build/event/event.js"></script> 23: <script src="http://yui.yahooapis.com/2.5.0/build/connection/connection.js"></script> 2 <script type="text/javascript"> 25: // <![CDATA[ 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // get symbol 36: var symbol = document.getelementbyid("symbol").value; 37: 38: // construct URL 39: var url = "quote7.php?symbol=" + symbol; 40: 41: // make call 4 YAHOO.util.Connect.asyncRequest("GET", url, { success: handler }); 43: } 4 45: 46: /* 47: * void ajax12.html 2/2 48: * handler() 49: * 50: * Handles the Ajax response. 51: */ 5 function handler(o) 53: { 5 // evaluate JSON 55: var quote = eval("(" + o.responsetext + ")"); 56: 57: // insert quote into page 58: document.getelementbyid("quote").innerhtml = quote.price; 59: } 60: 61: // ]]> 6 </script> 63: <title></title> 6 </head> 65: <body> 66: <form onsubmit="quote(); return false;"> 67: Symbol: <input id="symbol" type="text" /> 68: <br /><br /> 69: <div id="quote"><b>quote will appear here!</b></div> 70: <br /><br /> 71: <input type="submit" value="get Quote" /> 7 </form> 73: </body> 7 </html>

ajax2.html 1/2 3: ajax2.html 5: Gets stock quote from quote1.php via Ajax, embedding result in an input element. 6: 7: David J. Malan 8: Dan Armendariz 9: Computer Science E-75 10: Harvard Extension School 11: 1 --> 13: 1 <!DOCTYPE html PUBLIC 15: "-//W3C//DTD XHTML 1.0 Transitional//EN" 16: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 17: 18: <html xmlns="http://www.w3.org/1999/xhtml"> 19: <head> 20: <script type="text/javascript"> 21: // <![CDATA[ 2 23: // an XMLHttpRequest 2 var xhr = null; 25: 26: /* 27: * void 28: * quote() 29: * 30: * Gets a quote. 31: */ 3 function quote() 33: { 3 // instantiate XMLHttpRequest object 35: try 36: { 37: xhr = new XMLHttpRequest(); 38: } 39: catch (e) 40: { 41: xhr = new ActiveXObject("Microsoft.XMLHTTP"); 4 } 43: 4 // handle old browsers 45: if (xhr == null) 46: { 47: alert("ajax not supported by your browser!"); ajax2.html 2/2 48: return; 49: } 50: 51: // construct URL 5 var url = "quote1.php?symbol=" + document.getelementbyid("symbol").value; 53: 5 // get quote 55: xhr.onreadystatechange = handler; 56: xhr.open("get", url, true); 57: xhr.send(null); 58: } 59: 60: 61: /* 6 * void 63: * handler() 6 * 65: * Handles the Ajax response. 66: */ 67: function handler() 68: { 69: // only handle loaded requests 70: if (xhr.readystate == 4) 71: { 7 if (xhr.status == 200) 73: document.getelementbyid("price").value = xhr.responsetext; 7 else 75: alert("error with Ajax call!"); 76: } 77: } 78: 79: // ]]> 80: </script> 81: <title></title> 8 </head> 83: <body> 8 <form onsubmit="quote(); return false;"> 85: Symbol: <input id="symbol" type="text" /> 86: <br /> 87: Price: <input id="price" type="text" /> 88: <br /><br /> 89: <input type="submit" value="get Quote" /> 90: </form> 91: </body> 9 </html>

ajax3.html 1/2 3: ajax3.html 5: Gets stock quote from quote1.php via Ajax, embedding result in page itself. 6: 7: David J. Malan 8: Dan Armendariz 9: Computer Science E-75 10: Harvard Extension School 11: 1 --> 13: 1 <!DOCTYPE html PUBLIC 15: "-//W3C//DTD XHTML 1.0 Transitional//EN" 16: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 17: 18: <html xmlns="http://www.w3.org/1999/xhtml"> 19: <head> 20: <script type="text/javascript"> 21: // <![CDATA[ 2 23: // an XMLHttpRequest 2 var xhr = null; 25: 26: /* 27: * void 28: * quote() 29: * 30: * Gets a quote. 31: */ 3 function quote() 33: { 3 // instantiate XMLHttpRequest object 35: try 36: { 37: xhr = new XMLHttpRequest(); 38: } 39: catch (e) 40: { 41: xhr = new ActiveXObject("Microsoft.XMLHTTP"); 4 } 43: 4 // handle old browsers 45: if (xhr == null) 46: { 47: alert("ajax not supported by your browser!"); ajax3.html 2/2 48: return; 49: } 50: 51: // construct URL 5 var url = "quote1.php?symbol=" + document.getelementbyid("symbol").value; 53: 5 // get quote 55: xhr.onreadystatechange = handler; 56: xhr.open("get", url, true); 57: xhr.send(null); 58: } 59: 60: 61: /* 6 * void 63: * handler() 6 * 65: * Handles the Ajax response. 66: */ 67: function handler() 68: { 69: // only handle loaded requests 70: if (xhr.readystate == 4) 71: { 7 if (xhr.status == 200) 73: document.getelementbyid("price").innerhtml = xhr.responsetext; 7 else 75: alert("error with Ajax call!"); 76: } 77: } 78: 79: // ]]> 80: </script> 81: <title></title> 8 </head> 83: <body> 8 <form onsubmit="quote(); return false;"> 85: Symbol: <input id="symbol" type="text" /> 86: <br /> 87: Price: <span id="price"><b>to be determined</b></span> 88: <br /><br /> 89: <input type="submit" value="get Quote" /> 90: </form> 91: </body> 9 </html>

ajax4.html 1/2 3: ajax4.html 5: Gets stock quote (plus day s low and high) from quote2.php via Ajax, 6: embedding result in a textarea. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: { ajax4.html 2/2 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // construct URL 53: var url = "quote2.php?symbol=" + document.getelementbyid("symbol").value; 5 55: // get quote 56: xhr.onreadystatechange = handler; 57: xhr.open("get", url, true); 58: xhr.send(null); 59: } 60: 61: 6 /* 63: * void 6 * handler() 65: * 66: * Handles the Ajax response. 67: */ 68: function handler() 69: { 70: // only handle loaded requests 71: if (xhr.readystate == 4) 7 { 73: if (xhr.status == 200) 7 document.getelementbyid("result").value = xhr.responsetext; 75: else 76: alert("error with Ajax call!"); 77: } 78: } 79: 80: // ]]> 81: </script> 8 <title></title> 83: </head> 8 <body> 85: <form onsubmit="quote(); return false;"> 86: Symbol: <input id="symbol" type="text" /> 87: <br /> 88: <textarea cols="40" id="result" rows="3"></textarea> 89: <br /><br /> 90: <input type="submit" value="get Quote" /> 91: </form> 9 </body> 93: </html>

ajax5.html 1/2 3: ajax5.html 5: Gets stock quote (plus day s low and high) from quote3.php via Ajax, 6: embedding result in page itself. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: { ajax5.html 2/2 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // construct URL 53: var url = "quote3.php?symbol=" + document.getelementbyid("symbol").value; 5 55: // get quote 56: xhr.onreadystatechange = handler; 57: xhr.open("get", url, true); 58: xhr.send(null); 59: } 60: 61: 6 /* 63: * void 6 * handler() 65: * 66: * Handles the Ajax response. 67: */ 68: function handler() 69: { 70: // only handle requests in "loaded" state 71: if (xhr.readystate == 4) 7 { 73: if (xhr.status == 200) 7 document.getelementbyid("quote").innerhtml = xhr.responsetext; 75: else 76: alert("error with Ajax call!"); 77: } 78: } 79: 80: // ]]> 81: </script> 8 <title></title> 83: </head> 8 <body> 85: <form onsubmit="quote(); return false;"> 86: Symbol: <input id="symbol" type="text" /> 87: <br /><br /> 88: <div id="quote"><b>quote will appear here!</b></div> 89: <br /><br /> 90: <input type="submit" value="get Quote" /> 91: </form> 9 </body> 93: </html>

ajax6.html 1/3 3: ajax6.html 5: Gets stock quote (plus day s low and high) from quote4.php via Ajax, 6: embedding result in page itself after indicating progress with text. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: { ajax6.html 2/3 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // construct URL 53: var url = "quote4.php?symbol=" + document.getelementbyid("symbol").value; 5 55: // inform user 56: document.getelementbyid("quote").innerhtml = "Looking up symbol..."; 57: 58: // get quote 59: xhr.onreadystatechange = handler; 60: xhr.open("get", url, true); 61: xhr.send(null); 6 } 63: 6 65: /* 66: * void 67: * handler() 68: * 69: * Handles the Ajax response. 70: */ 71: function handler() 7 { 73: // only handle requests in "loaded" state 7 if (xhr.readystate == 4) 75: { 76: if (xhr.status == 200) 77: document.getelementbyid("quote").innerhtml = xhr.responsetext; 78: else 79: alert("error with Ajax call!"); 80: } 81: } 8 83: // ]]> 8 </script> 85: <title></title> 86: </head> 87: <body> 88: <form onsubmit="quote(); return false;"> 89: Symbol: <input id="symbol" type="text" /> 90: <br /><br /> 91: <div id="quote"><b>quote will appear here!</b></div> 9 <br /><br /> 93: <input type="submit" value="get Quote" /> 9 </form>

ajax6.html 3/3 95: </body> 96: </html> ajax7.html 1/3 3: ajax7.html 5: Gets stock quote (plus day s low and high) from quote4.php via Ajax, 6: embedding result in page itself after indicating progress with an 7: animated GIF. 8: 9: David J. Malan 10: Dan Armendariz 11: Computer Science E-75 1 Harvard Extension School 13: 1 --> 15: 16: <!DOCTYPE html PUBLIC 17: "-//W3C//DTD XHTML 1.0 Transitional//EN" 18: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 19: 20: <html xmlns="http://www.w3.org/1999/xhtml"> 21: <head> 2 <script type="text/javascript"> 23: // <![CDATA[ 2 25: // an XMLHttpRequest 26: var xhr = null; 27: 28: /* 29: * void 30: * quote() 31: * 3 * Gets a quote. 33: */ 3 function quote() 35: { 36: // instantiate XMLHttpRequest object 37: try 38: { 39: xhr = new XMLHttpRequest(); 40: } 41: catch (e) 4 { 43: xhr = new ActiveXObject("Microsoft.XMLHTTP"); 4 } 45: 46: // handle old browsers 47: if (xhr == null)

ajax7.html 2/3 48: { 49: alert("ajax not supported by your browser!"); 50: return; 51: } 5 53: // construct URL 5 var url = "quote4.php?symbol=" + document.getelementbyid("symbol").value; 55: 56: // show progress 57: document.getelementbyid("progress").style.display = "block"; 58: 59: // get quote 60: xhr.onreadystatechange = handler; 61: xhr.open("get", url, true); 6 xhr.send(null); 63: } 6 65: 66: /* 67: * void 68: * handler() 69: * 70: * Handles the Ajax response. 71: */ 7 function handler() 73: { 7 // only handle requests in "loaded" state 75: if (xhr.readystate == 4) 76: { 77: // hide progress 78: document.getelementbyid("progress").style.display = "none"; 79: 80: if (xhr.status == 200) 81: document.getelementbyid("quote").innerhtml = xhr.responsetext; 8 else 83: alert("error with Ajax call!"); 8 } 85: } 86: 87: // ]]> 88: </script> 89: <title></title> 90: </head> 91: <body> 9 <form onsubmit="quote(); return false;"> 93: Symbol: <input id="symbol" type="text" /> 9 <br /><br /> ajax7.html 3/3 95: <div id="progress" style="display: none;"> 96: <img alt="please Wait" src="19-0.gif" /> 97: <br /><br /> 98: </div> 99: <div id="quote"></div> 100: <br /><br /> 101: <input type="submit" value="get Quote" /> 10 </form> 103: </body> 10 </html>

ajax8.html 1/3 3: ajax8.html 5: Gets stock quote (plus day s low and high) from quote5.php via Ajax, 6: embedding result in page itself. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: { ajax8.html 2/3 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // construct URL 53: var url = "quote5.php?symbol=" + document.getelementbyid("symbol").value; 5 55: // get quote 56: xhr.onreadystatechange = handler; 57: xhr.open("get", url, true); 58: xhr.send(null); 59: } 60: 61: 6 /* 63: * void 6 * handler() 65: * 66: * Handles the Ajax response. 67: */ 68: function handler() 69: { 70: // only handle requests in "loaded" state 71: if (xhr.readystate == 4) 7 { 73: if (xhr.status == 200) 7 { 75: // get XML 76: var xml = xhr.responsexml; 77: 78: // update price 79: var prices = xml.getelementsbytagname("price"); 80: if (prices.length == 1) 81: { 8 var price = prices[0].firstchild.nodevalue; 83: document.getelementbyid("price").innerhtml = price; 8 } 85: 86: // update low 87: var lows = xml.getelementsbytagname("low"); 88: if (lows.length == 1) 89: { 90: var low = lows[0].firstchild.nodevalue; 91: document.getelementbyid("low").innerhtml = low; 9 } 93: 9 // update high

ajax8.html 3/3 95: var highs = xml.getelementsbytagname("high"); 96: if (highs.length == 1) 97: { 98: var high = highs[0].firstchild.nodevalue; 99: document.getelementbyid("high").innerhtml = high; 100: } 101: } 10 else 103: alert("error with Ajax call!"); 10 } 105: } 106: 107: // ]]> 108: </script> 109: <title></title> 110: </head> 111: <body> 11 <form onsubmit="quote(); return false;"> 113: Symbol: <input id="symbol" type="text" /> 11 <br /><br /> 115: Price: <span id="price"></span> 116: <br /> 117: Low: <span id="low"></span> 118: <br /> 119: High: <span id="high"></span> 120: <br /><br /> 121: <input type="submit" value="get Quote" /> 12 </form> 123: </body> 12 </html> ajax9.html 1/2 3: ajax9.html 5: Gets stock quote from quote1.php via Ajax, inserting result into DOM. 6: Also displays new DOM nodes XHTML in a textarea. 7: 8: David J. Malan 9: Dan Armendariz 10: Computer Science E-75 11: Harvard Extension School 1 13: --> 1 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Transitional//EN" 17: "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 18: 19: <html xmlns="http://www.w3.org/1999/xhtml"> 20: <head> 21: <script type="text/javascript"> 2 // <![CDATA[ 23: 2 // an XMLHttpRequest 25: var xhr = null; 26: 27: /* 28: * void 29: * quote() 30: * 31: * Gets a quote. 3 */ 33: function quote() 3 { 35: // instantiate XMLHttpRequest object 36: try 37: { 38: xhr = new XMLHttpRequest(); 39: } 40: catch (e) 41: { 4 xhr = new ActiveXObject("Microsoft.XMLHTTP"); 43: } 4 45: // handle old browsers 46: if (xhr == null) 47: {

ajax9.html 2/2 48: alert("ajax not supported by your browser!"); 49: return; 50: } 51: 5 // get symbol 53: var symbol = document.getelementbyid("symbol").value; 5 55: // construct URL 56: var url = "quote1.php?symbol=" + symbol; 57: 58: // get quote 59: xhr.onreadystatechange = 60: function() 61: { 6 // only handle loaded requests 63: if (xhr.readystate == 4) 6 { 65: if (xhr.status == 200) 66: { 67: // insert quote into DOM 68: var div = document.createelement("div"); 69: var text = document.createtextnode(symbol + ": " + xhr.responsetext); 70: div.appendchild(text); 71: document.getelementbyid("quotes").appendchild(div); 7 } 73: else 7 alert("error with Ajax call!"); 75: } 76: } 77: xhr.open("get", url, true); 78: xhr.send(null); 79: } 80: 81: // ]]> 8 </script> 83: <title></title> 8 </head> 85: <body> 86: <form onsubmit="quote(); return false;"> 87: Symbol: <input id="symbol" type="text" /> 88: <br /><br /> 89: <input type="submit" value="get Quote" /> 90: </form> 91: <br /><br /> 9 <div id="quotes"></div> 93: </body> 9 </html> quote1.php 1/1 1: <?php 3: /** * quote1.php 5: * 6: * Outputs price of given symbol as text/html. 7: * 8: * David J. Malan 9: * Dan Armendariz 10: * Computer Science E-75 11: * Harvard Extension School 1 */ 13: 1 // get quote 15: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1", "r"); 16: if ($handle!== FALSE) 17: { 18: $data = fgetcsv($handle); 19: if ($data!== FALSE && $data[0] == "N/A") 20: print($data[1]); 21: fclose($handle); 2 } 23:?>

quote2.php 1/1 1: <? /** 3: * quote2.php * 5: * Outputs price, low, and high of given symbol as plain/text. 6: * 7: * David J. Malan 8: * Dan Armendariz 9: * Computer Science E-75 10: * Harvard Extension School 11: */ 1 13: // send MIME type 1 header("content-type: text/plain"); 15: 16: // try to get quote 17: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 18: if ($handle!== FALSE) 19: { 20: $data = fgetcsv($handle); 21: if ($data!== FALSE && $data[0] == "N/A") 2 { 23: print("price: {$data[1]}\n"); 2 print("high: {$data[2]}\n"); 25: print("low: {$data[3]}"); 26: } 27: fclose($handle); 28: } 29:?> quote3.php 1/1 1: <? /** 3: * quote3.php * 5: * Outputs price, low, and high of given symbol as text/html. 6: * 7: * David J. Malan 8: * Dan Armendariz 9: * Computer Science E-75 10: * Harvard Extension School 11: */ 1 13: // try to get quote 1 $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 15: if ($handle!== FALSE) 16: { 17: $data = fgetcsv($handle); 18: if ($data!== FALSE && $data[0] == "N/A") 19: { 20: print("price: {$data[1]}"); 21: print("<br />"); 2 print("high: {$data[2]}"); 23: print("<br />"); 2 print("low: {$data[3]}"); 25: } 26: fclose($handle); 27: } 28:?>

quote4.php 1/1 1: <? /** 3: * quote3.php * 5: * Outputs price, low, and high of given symbol as text/html, after 6: * inserting an artificial delay. 7: * 8: * David J. Malan 9: * Dan Armendariz 10: * Computer Science E-75 11: * Harvard Extension School 1 */ 13: 1 15: // pretend server is slow 16: sleep(5); 17: 18: // try to get quote 19: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 20: if ($handle!== FALSE) 21: { 2 $data = fgetcsv($handle); 23: if ($data!== FALSE && $data[0] == "N/A") 2 { 25: print("price: {$data[1]}"); 26: print("<br />"); 27: print("high: {$data[2]}"); 28: print("<br />"); 29: print("low: {$data[3]}"); 30: } 31: fclose($handle); 3 } 33:?> quote5.php 1/1 1: <? /** 3: * quote5.php * 5: * Outputs price, low, and high of given symbol as text/xml. 6: * 7: * David J. Malan 8: * Dan Armendariz 9: * Computer Science E-75 10: * Harvard Extension School 11: */ 1 13: // set MIME type 1 header("content-type: text/xml"); 15: 16: // output root element s start tag 17: print("<quote symbol= {$_GET[ symbol ]} >"); 18: 19: // try to get quote 20: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 21: if ($handle!== FALSE) 2 { 23: $data = fgetcsv($handle); 2 if ($data!== FALSE && $data[0] == "N/A") 25: { 26: print("<price>{$data[1]}</price>"); 27: print("<high>{$data[2]}</high>"); 28: print("<low>{$data[3]}</low>"); 29: } 30: fclose($handle); 31: } 3 33: // output root element s end tag 3 print("</quote>"); 35:?>

quote6.php 1/1 1: <? /** 3: * quote6.php * 5: * Outputs price, low, and high of given symbol in JSON format. 6: * 7: * David J. Malan 8: * Dan Armendariz 9: * Computer Science E-75 10: * Harvard Extension School 11: */ 1 13: // set MIME type 1 header("content-type: application/json"); 15: 16: // try to get quote 17: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 18: if ($handle!== FALSE) 19: { 20: $data = fgetcsv($handle); 21: if ($data!== FALSE && $data[0] == "N/A") 2 { 23: if (is_numeric($data[1])) 2 $price = $data[1]; 25: if (is_numeric($data[2])) 26: $high = $data[2]; 27: if (is_numeric($data[3])) 28: $low = $data[3]; 29: } 30: fclose($handle); 31: } 3 33: // output JSON 3 print("{ price: $price, high: $high, low: $low }"); 35:?> quote7.php 1/1 1: <? /** 3: * quote7.php * 5: * Outputs price, low, and high of given symbol in JSON format 6: * using PHP s JSON extension. 7: * 8: * David J. Malan 9: * Dan Armendariz 10: * Computer Science E-75 11: * Harvard Extension School 1 */ 13: 1 // defines a stock 15: class Stock 16: { 17: public $price; 18: public $high; 19: public $low; 20: } 21: 2 // set MIME type 23: header("content-type: application/json"); 2 25: // try to get quote 26: $handle = @fopen("http://download.finance.yahoo.com/d/quotes.csv?s={$_get[ symbol ]}&f=e1l1hg", "r"); 27: if ($handle!== FALSE) 28: { 29: $data = fgetcsv($handle); 30: if ($data!== FALSE && $data[0] == "N/A") 31: { 3 $stock = new Stock(); 33: 3 if (is_numeric($data[1])) 35: $stock->price = $data[1]; 36: if (is_numeric($data[2])) 37: $stock->high = $data[2]; 38: if (is_numeric($data[3])) 39: $stock->low = $data[3]; 40: } 41: fclose($handle); 4 } 43: 4 // output JSON 45: print(json_encode($stock)); 46:?>