Prototype Stuart Halloway

Size: px
Start display at page:

Download "Prototype Stuart Halloway"

Transcription

1 Prototype Stuart Halloway Copyright 2007, Relevance, Inc. Licensed only for use in conjunction with Relevance-provided training For permission to use, send to

2 What is Prototype? provides core support for Ajax hides browser oddities powers other libraries (Scriptaculous, Rico) keeps things simple works with any server stack integrates with Rails

3 Object Model

4 Create a Class Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

5 Class Properties Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

6 Extend Another Class Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

7 Constructor Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

8 Instance Properties Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

9 Beware the Comma Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setoptions(options); this.request(url); }, //...snip... }

10 OO in Prototype Classes are language library features Inheritance is a language library feature Classes and inheritance are flexible ideas

11 Augmenting Built-in Classes

12 Augmenting String Object.extend(String.prototype, { striptags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, } stripscripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); }, //... snip...

13 Enumeration: each $A(element.childNodes).each(function(node){ element.removechild(node) });

14 Enumeration: map toquerystring: function() { return this.map(function(pair) { return pair.map(encodeuricomponent).join('='); }).join('&'); },

15 Enumeration: select compact: function() { return this.select(function(value) { return value!= undefined value!= null; }); },

16 Augmenting Classes functions have sensible homes collection traversal is trivial

17 xhr Support

18 URL to Invoke new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

19 HTTP Verb new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

20 Query String new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

21 Success Callback new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

22 Bind To this new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

23 Failure Callback new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

24 Exception Callback new Ajax.Request(this.validateAction, { method: 'get', parameters: e.name + "=" + e.value, onsuccess: (function(req) { this.reportvalidation(e, req.responsetext); }).bind(this), onfailure: function(req) {alert(req.responsetext)}, onexception: function(t,e) {alert(e);} });

25 Ajax.Request hides browser oddities takes a slew of options performs callbacks asynchronously

26 xhr Example: Polling and Updating

27 Call Periodically new PeriodicalExecuter(function() { new Ajax.Updater('items', ' {evalscripts:true}); }, 10);

28 Update Page Element new PeriodicalExecuter(function() { new Ajax.Updater('items', ' {evalscripts:true}); }, 10);

29 URL new PeriodicalExecuter(function() { new Ajax.Updater('items', ' {evalscripts:true}); }, 10);

30 Evaluate Scripts new PeriodicalExecuter(function() { new Ajax.Updater('items', ' {evalscripts:true}); }, 10);

31 Interval (Seconds) new PeriodicalExecuter(function() { new Ajax.Updater('items', ' {evalscripts:true}); }, 10);

32 xhr a method for every season Ajax.Request, Ajax.Updater methods share common options

33 DOM Support

34 $ Example clear: function() { for (var i = 0; i < arguments.length; i++) $(arguments[i]).value = ''; },

35 $ Implementation function $() { var results = [], element; for (var i = 0; i < arguments.length; i++) { element = arguments[i]; if (typeof element == 'string') element = document.getelementbyid(element); results.push(element.extend(element)); } return results.length < 2? results[0] : results; }

36 $$ Example $$("h1").each(function(e) { Element.addClassName(e, "blueborder"); }); $$("li.showme").each(function(e) { Effect.Pulsate(e); });

37 Original Insertion Syntax

38 New Insertion Syntax Event.observe(window, "load", function() { $("submit").observe("click", function(evt) { $("log").insert({ top: $("message").value + "<br/>"; }); $("message").clear(); evt.stop(); }); });

39 Observing a Form Element //from pragforms sample app new Form.Element.Observer( 'search', 0.5, function(element, value) { Element.show('spinner'); new Ajax.Updater( 'ajaxwrapper', ' { asynchronous:true, evalscripts:true, oncomplete:function(request) { Element.hide('spinner') }, parameters:'search=' + encodeuricomponent(value) } ) } )

40 Interval (Seconds) //from pragforms sample app new Form.Element.Observer( 'search', 0.5, function(element, value) { Element.show('spinner'); new Ajax.Updater( 'ajaxwrapper', ' { asynchronous:true, evalscripts:true, oncomplete:function(request) { Element.hide('spinner') }, parameters:'search=' + encodeuricomponent(value) } ) } )

41 Handler //from pragforms sample app new Form.Element.Observer( 'search', 0.5, function(element, value) { Element.show('spinner'); new Ajax.Updater( 'ajaxwrapper', ' { asynchronous:true, evalscripts:true, oncomplete:function(request) { Element.hide('spinner') }, parameters:'search=' + encodeuricomponent(value) } ) } )

42 Rails API <%= observe_field :search, :frequency => 0.5, :update => 'ajaxwrapper', :complete=>"element.hide('spinner')", :before=>"element.show('spinner')", :with=>"'search=' + encodeuricomponent(value)", :url=>{:action=>'search'} %>

43 DOM Support find elements by id with $ find by class with $$ update elements with insertions grab user input with observers

44 Resources and Samples Prototype: prototypejs.org About Relevance: thinkrelevance.com Sample Code: thinkrelevance.com Rails Book Samples:

Web Programming Step by Step

Web Programming Step by Step Web Programming Step by Step Lecture 19 Ajax Reading: 10.1-10.2 Except where otherwise noted, the contents of this presentation are Copyright 2009 Marty Stepp and Jessica Miller. Synchronous web communication

More information

Asynchronous JavaScript + XML (Ajax)

Asynchronous JavaScript + XML (Ajax) Asynchronous JavaScript + XML (Ajax) CSE 190 M (Web Programming), Spring 2008 University of Washington References: w3schools, Wikipedia Except where otherwise noted, the contents of this presentation are

More information

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. Preface p. xiii Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. 5 Client-Side JavaScript: Executable Content

More information

10.1 Overview of Ajax

10.1 Overview of Ajax 10.1 Overview of Ajax - History - Possibility began with the nonstandard iframe element, which appeared in IE4 and Netscape 4 - An iframe element could be made invisible and could be used to send asynchronous

More information

Scriptaculous Stuart Halloway

Scriptaculous Stuart Halloway Scriptaculous Stuart Halloway stu@thinkrelevance.com Copyright 2007, Relevance, Inc. Licensed only for use in conjunction with Relevance-provided training For permission to use, send email to contact@thinkrelevance.com

More information

Prototype jquery. To and from JavaScript libraries. Remy Sharp (remysharp.com)

Prototype jquery. To and from JavaScript libraries. Remy Sharp (remysharp.com) Prototype jquery To and from JavaScript libraries. Remy Sharp (remysharp.com) Why Prototype? Extends the DOM and core JavaScript objects An arsenal of utility functions Based on Prototype 1.5.1 & 1.6 Why

More information

Prototype and Scriptaculous in Action

Prototype and Scriptaculous in Action SAMPLE CHAPTER Prototype and Scriptaculous in Action by Dave Crane Bear Bibeault with Tom Locke Chapter 4 Copyright 2007 Manning Publications PART I GETTING STARTED...1 1 Introducing Prototype and Scriptaculous

More information

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

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly, Session 18 jquery - Ajax 1 Tutorials Reference http://learn.jquery.com/ajax/ http://www.w3schools.com/jquery/jquery_ajax_intro.asp jquery Methods http://www.w3schools.com/jquery/jquery_ref_ajax.asp 2 10/31/2018

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

Refactotum. JavaScript. Stuart Halloway thinkrelevance.com

Refactotum. JavaScript. Stuart Halloway thinkrelevance.com Refactotum JavaScript Stuart Halloway thinkrelevance.com Copyright 2007, Relevance, Inc. Licensed only for use in conjunction with Relevance-provided training For permission to use, send email to contact@thinkrelevance.com

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

SCRIPT.ACULO.US - IN-PLACE EDITING

SCRIPT.ACULO.US - IN-PLACE EDITING SCRIPT.ACULO.US - IN-PLACE EDITING http://www.tutorialspoint.com/script.aculo.us/scriptaculous_inplace_editing.htm Copyright tutorialspoint.com In-place editing is one of the hallmarks of Web 2.0.style

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

CSC Javascript

CSC Javascript CSC 4800 Javascript See book! Javascript Syntax How to embed javascript between from an external file In an event handler URL - bookmarklet

More information

More on JavaScript Functions

More on JavaScript Functions More on JavaScript Functions Nesting Function Definitions Function definitions can be nested. function hypotenuse(a, b) function square(x) return x * x; return Math.sqrt(square(a) + square(b));

More information

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett What is Ajax? Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett http://www.adaptivepath.com/ideas/essays/archives /000385.php Ajax isn t really new, and isn t a single technology

More information

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material.

The course is supplemented by numerous hands-on labs that help attendees reinforce their theoretical knowledge of the learned material. Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA2442 Introduction to JavaScript Objectives This intensive training course

More information

AJAX: Introduction CISC 282 November 27, 2018

AJAX: Introduction CISC 282 November 27, 2018 AJAX: Introduction CISC 282 November 27, 2018 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the

More information

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON) COURSE TITLE : ADVANCED WEB DESIGN COURSE CODE : 5262 COURSE CATEGORY : A PERIODS/WEEK : 4 PERIODS/SEMESTER : 52 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 HTML Document Object Model (DOM) and javascript

More information

At the Forge Prototype Reuven M. Lerner Abstract Prototype eases the burden of using JavaScript in Ajax. During the last few months, we have looked at ways to use JavaScript, a version of which is included

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects JavaScript CAC Noida is an ISO 9001:2015 certified training center with professional experience that dates back to 2005. The vision is to provide professional education merging corporate culture globally

More information

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow Announcements ECS 89 6/1! The final is at 10:30 am, Sat 6/4, in this room! Open book, open notes! No electronic devices! No food! Assignment 7 due 10pm tomorrow! No late Assignment 7 s! Fill out course

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

55191: Advanced SharePoint Development

55191: Advanced SharePoint Development Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

Accessible Ajax on Rails. Jarkko Laine with Geoffrey Grosenbach

Accessible Ajax on Rails. Jarkko Laine with Geoffrey Grosenbach Accessible Ajax on Rails Jarkko Laine with Geoffrey Grosenbach r.resources :categories do cat cat.resources :products cat.resources :companies cat.resources :subcategories do sub sub.resources :products

More information

JavaScript Patterns O'REILLY* S toy an Stefanov. Sebastopol. Cambridge. Tokyo. Beijing. Farnham K8ln

JavaScript Patterns O'REILLY* S toy an Stefanov. Sebastopol. Cambridge. Tokyo. Beijing. Farnham K8ln JavaScript Patterns S toy an Stefanov O'REILLY* Beijing Cambridge Farnham K8ln Sebastopol Tokyo Table of Contents Preface xiii 1. Introduction 1 Patterns 1 JavaScript: Concepts 3 Object-Oriented 3 No Classes

More information

JavaScript: The Definitive Guide

JavaScript: The Definitive Guide T "T~ :15 FLA HO H' 15 SIXTH EDITION JavaScript: The Definitive Guide David Flanagan O'REILLY Beijing Cambridge Farnham Ktiln Sebastopol Tokyo Table of Contents Preface....................................................................

More information

CSC Web Programming. Introduction to JavaScript

CSC Web Programming. Introduction to JavaScript CSC 242 - Web Programming Introduction to JavaScript JavaScript JavaScript is a client-side scripting language the code is executed by the web browser JavaScript is an embedded language it relies on its

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

Prototype Patterns. (c) 2007 Ryan Johnson

Prototype Patterns. (c) 2007 Ryan Johnson Prototype Patterns ryan@livepipe.net (c) 2007 Ryan Johnson hi! who are you? 14 years of developing for the web creator of Control Suite widgets creator of Object.Event library founder of LivePipe LLC co-founder

More information

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN AJAX ASYNCHRONOUS JAVASCRIPT AND XML Laura Farinetti - DAUIN Rich-client asynchronous transactions In 2005, Jesse James Garrett wrote an online article titled Ajax: A New Approach to Web Applications (www.adaptivepath.com/ideas/essays/archives/000

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective

More information

Databases/JQuery AUGUST 1, 2018

Databases/JQuery AUGUST 1, 2018 Databases/JQuery AUGUST 1, 2018 Databases What is a Database? A table Durable place for storing things Place to easily lookup and update information Databases: The M in MVC What is a Database? Your Model

More information

3 Days Training Program

3 Days Training Program 3 Days Training Program What is AngularJS? A JavaScript framework for creating dynamic web applications Open Source GitHub: https://github.com/angular/angular.js MIT License Uses jquery jquery 1.7.1 or

More information

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

Node.js Training JavaScript. Richard richardrodger.com

Node.js Training JavaScript. Richard richardrodger.com Node.js Training JavaScript Richard Rodger @rjrodger richardrodger.com richard.rodger@nearform.com A New Look at JavaScript Embracing JavaScript JavaScript Data Structures JavaScript Functions Functional

More information

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

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax

More information

Courslets, a golf improvement web service. Peter Battaglia

Courslets, a golf improvement web service. Peter Battaglia Courslets, a golf improvement web service Peter Battaglia Discussion Project Overview Design and Technologies Utilized Rails and REST URLs, URLs, URLs Rails and Web Services What s s exposed as a service?

More information

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS)

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS) A Absolute link, 61, 62 Agile project management, 15 16 budget management, 18 19 scope management, 19 20 time management, 17 Ajax. See Asynchronous JavaScript and XML (Ajax) Anonymous functions, 183 188

More information

CSC309: Introduction to Web Programming. Lecture 11

CSC309: Introduction to Web Programming. Lecture 11 CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat Servlets+JSP Model 2 Architecture 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern 3 Servlets+JSP Model 2 Architecture Controller

More information

Web 2.0 and Security

Web 2.0 and Security Web 2.0 and Security Web 2.0 and Security 1. What is Web 2.0? On the client: Scripting the XMLHttpRequest object On the server: REST Web Services Mash-ups ups of Web Services used together to create novel

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

AJAX. Lecture 26. Robb T. Koether. Fri, Mar 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, / 16

AJAX. Lecture 26. Robb T. Koether. Fri, Mar 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, / 16 AJAX Lecture 26 Robb T. Koether Hampden-Sydney College Fri, Mar 21, 2014 Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, 2014 1 / 16 1 AJAX 2 Http Requests 3 Request States 4 Handling the Response

More information

Web Programming. Lecture 11. University of Toronto

Web Programming. Lecture 11. University of Toronto CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat University of Toronto Servlets+JSP Model 2 Architecture University of Toronto 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern

More information

Developing Web Applications Using ASP.NET Duration:56 Hours

Developing Web Applications Using ASP.NET Duration:56 Hours Developing Web Applications Using ASP.NET Duration:56 Hours Chapter 1 Chapter 2 Rationale Introducing Web Development Server-Side Scripting Client-Side Scripting Exploring ASP.NET ASP.NET in the.net Framework

More information

,

, Weekdays:- 1½ hrs / 3 days Fastrack:- 1½hrs / Day [Class Room and Online] ISO 9001:2015 CERTIFIED ADMEC Multimedia Institute www.admecindia.co.in 9911782350, 9811818122 Welcome to one of the highly professional

More information

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side

More information

5. Strict mode use strict ; 6. Statement without semicolon, with semicolon 7. Keywords 8. Variables var keyword and global scope variable 9.

5. Strict mode use strict ; 6. Statement without semicolon, with semicolon 7. Keywords 8. Variables var keyword and global scope variable 9. Javascript 1) Javascript Implementation 1. The Core(ECMAScript) 2. DOM 3. BOM 2) ECMAScript describes 1. Syntax 2. Types 3. Statements 4. Keywords 5. Reserved words 6. Operators 7. Objects 3) DOM 1. Tree

More information

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component Module 5 JavaScript, AJAX, and jquery Module 5 Contains an Individual and Group component Both are due on Wednesday October 24 th Start early on this module One of the most time consuming modules in the

More information

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

AJAX Programming Chris Seddon

AJAX Programming Chris Seddon AJAX Programming Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 What is Ajax? "Asynchronous JavaScript and XML" Originally described in 2005 by Jesse

More information

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries AJAX for Libraries Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Karen A. Coombs Head of Web Services University of Houston Libraries Outline 1. What you re

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

CS 5142 Scripting Languages

CS 5142 Scripting Languages CS 5142 Scripting Languages 10/16/2015 Web Applications Databases 1 Outline Stateful Web Applications AJAX 2 Concepts Scope in Server-Side Scripts Request $_GET, $_POST global $g; Session $_SESSION Application

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

PyBossa.JS JavaScript library for PyBossa

PyBossa.JS JavaScript library for PyBossa PyBossa.JS JavaScript library for PyBossa Release 0.1 Citizen Cyberscience Centre and Open Knowledge Foundation Feb 26, 2018 Contents 1 User Guide 3 1.1 Useful Links...............................................

More information

AJAX: The Basics CISC 282 March 25, 2014

AJAX: The Basics CISC 282 March 25, 2014 AJAX: The Basics CISC 282 March 25, 2014 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the browser

More information

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Best Practices Chapter 5

Best Practices Chapter 5 Best Practices Chapter 5 Chapter 5 CHRIS HOY 12/11/2015 COMW-283 Chapter 5 The DOM and BOM The BOM stand for the Browser Object Model, it s also the client-side of the web hierarchy. It is made up of a

More information

Lecture 3: The Basics of JavaScript. Background. Needs for Programming Capability. Origin of JavaScript. Using Client-side JavaScript

Lecture 3: The Basics of JavaScript. Background. Needs for Programming Capability. Origin of JavaScript. Using Client-side JavaScript Lecture 3: The Basics of JavaScript Wendy Liu CSC309F Fall 2007 Background Origin and facts 1 2 Needs for Programming Capability XHTML and CSS allows the browser to passively display static content How

More information

API Documentation. Web Application Development. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) API Documentation / 28

API Documentation. Web Application Development. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) API Documentation / 28 API Documentation Web Application Development Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) API Documentation 2018 1 / 28 Data Transfer Object Data Transfer Objects Bean Information

More information

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries AJAX Workshop Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries Outline 1. What you re in for 2. What s AJAX? 3. Why AJAX? 4. Look at some AJAX examples

More information

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

CORS.   Константин Якушев MoscowJS 14, CORS http://cors.kojo.ru Константин Якушев MoscowJS 14, 28.08.2014 http://api.ya.ru http://api.ya.ru http://api.ya.ru http://m.ya.ru? function Fetch() { var Url = "http://api.ya.ru/"; var xhr = new XMLHttpRequest();

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

Session 11. Ajax. Reading & Reference

Session 11. Ajax. Reading & Reference Session 11 Ajax Reference XMLHttpRequest object Reading & Reference en.wikipedia.org/wiki/xmlhttprequest Specification developer.mozilla.org/en-us/docs/web/api/xmlhttprequest JavaScript (6th Edition) by

More information

Comprehensive Angular 2 Review of Day 3

Comprehensive Angular 2 Review of Day 3 Form Validation: built in validators: added to template: required minlength maxlength pattern form state: state managed through NgModel classes: control has been visited: ng-touched or ng-untouched control

More information

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

JQUERYUI - WIDGET FACTORY

JQUERYUI - WIDGET FACTORY JQUERYUI - WIDGET FACTORY http://www.tutorialspoint.com/jqueryui/jqueryui_widgetfactory.htm Copyright tutorialspoint.com Earlier, the only way to write custom controls in jquery was to extend the $.fn

More information

jquery UI Widget Factory

jquery UI Widget Factory jquery UI Widget Factory Scott González jquery UI development lead http://nemikor.com @scott_gonzalez $(λ); The widget factory - What is it? - Why do we need it? - How do we use it? $.widget(); Why we

More information

a Very Short Introduction to AngularJS

a Very Short Introduction to AngularJS a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very

More information

AJAX: The Basics CISC 282 November 22, 2017

AJAX: The Basics CISC 282 November 22, 2017 AJAX: The Basics CISC 282 November 22, 2017 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

Making Ajax Easy With Model-Glue. Joe Rinehart Firemoss, LLC

Making Ajax Easy With Model-Glue. Joe Rinehart Firemoss, LLC Making Ajax Easy With Model-Glue Joe Rinehart Firemoss, LLC 1 About the Speaker President of Firemoss, LLC, a ColdFusion and Flex consulting company Creator of the Model-Glue framework Author for ColdFusion

More information

Full Stack Web Developer Course

Full Stack Web Developer Course T&C Apply Full Stack Web Developer Course From Quick pert Infotech Interview Process Full Stack Web APP Developer Full Stack Web Developer Expert Code Igniter PHP MVC Framwork Expert (asked in almost every

More information

JavaScript Lecture 1

JavaScript Lecture 1 JavaScript Lecture 1 Waterford Institute of Technology May 17, 2016 John Fitzgerald Waterford Institute of Technology, JavaScriptLecture 1 1/31 Javascript Extent of this course A condensed basic JavaScript

More information

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,

More information

Cache Pattern for Offline Web Applications

Cache Pattern for Offline Web Applications Cache Pattern for Offline Web Applications Robert Kroeger June 27, 2009 Post your questions for this talk on Google Moderator: code.google.com/events/io/questions Why Mobile Web Applications? Pro: server-side

More information

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

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components Module 5 JavaScript, AJAX, and jquery Module 5 Contains 2 components Both the Individual and Group portion are due on Monday October 30 th Start early on this module One of the most time consuming modules

More information

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18 Web Frameworks MMIS 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz March 10, 2011 Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 1 / 18 Web Application Frameworks MVC Frameworks for Web applications

More information

.Net Job Assured Course (3 in 1)

.Net Job Assured Course (3 in 1) T&C Apply.Net Job Assured Course (3 in 1) From Quick pert Infotech Learning Process .Net Developer Learning Path to Crack Interviews Full Fledged Dot Net Developer (3 in 1 - Opens.Net, WebDesign & Database

More information

Careerarm.com. Question 1. Orders table OrderId int Checked Deptno int Checked Amount int Checked

Careerarm.com. Question 1. Orders table OrderId int Checked Deptno int Checked Amount int Checked Question 1 Orders table OrderId int Checked Deptno int Checked Amount int Checked sales table orderid int Checked salesmanid int Checked Get the highest earning salesman in each department. select salesmanid,

More information

CSE 154 LECTURE 26: JAVASCRIPT FRAMEWORKS

CSE 154 LECTURE 26: JAVASCRIPT FRAMEWORKS CSE 154 LECTURE 26: JAVASCRIPT FRAMEWORKS Why Frameworks? JavaScript is a powerful language, but it has many flaws: the DOM can be clunky to use the same code doesn't always work the same way in every

More information

At the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this

More information

To implement binary trees, we have two prototypes: BTNode and BinaryTree.

To implement binary trees, we have two prototypes: BTNode and BinaryTree. Binary Trees To implement binary trees, we have two prototypes: BTNode and BinaryTree. A BTNode is very much like a ListNode except that, instead of having one instance variable whose value is a reference,

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) AGENDA

More information

Microservices with Node.js

Microservices with Node.js Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/

More information

Front End Nanodegree Syllabus

Front End Nanodegree Syllabus Front End Nanodegree Syllabus Build Stunning User Experiences Before You Start You've taken the first step toward becoming a web developer by choosing the Front End Nanodegree program. In order to succeed,

More information

INF5750. Introduction to JavaScript and Node.js

INF5750. Introduction to JavaScript and Node.js INF5750 Introduction to JavaScript and Node.js Outline Introduction to JavaScript Language basics Introduction to Node.js Tips and tools for working with JS and Node.js What is JavaScript? Built as scripting

More information

Accessing the Progress OpenEdge AppServer. From Progress Rollbase. Using Object Script

Accessing the Progress OpenEdge AppServer. From Progress Rollbase. Using Object Script Accessing the Progress OpenEdge AppServer From Progress Rollbase Using Object Script Introduction Progress Rollbase provides a simple way to create a web-based, multi-tenanted and customizable application

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

More information

CSC 405 Computer Security. Web Security

CSC 405 Computer Security. Web Security CSC 405 Computer Security Web Security Alexandros Kapravelos akaprav@ncsu.edu (Derived from slides by Giovanni Vigna and Adam Doupe) 1 The XMLHttpRequest Object Microsoft developers working on Outlook

More information

Kaazing Gateway: An Open Source

Kaazing Gateway: An Open Source Kaazing Gateway: An Open Source HTML 5 Websocket Server Speaker Jonas Jacobi Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Agenda Real-Time Web? Why Do I Care? Scalability and Performance Concerns

More information