Skip to Content
JavaScript Cookbook, 2nd Edition
book

JavaScript Cookbook, 2nd Edition

by Shelley Powers
February 2015
Intermediate to advanced
634 pages
13h 29m
English
O'Reilly Media, Inc.
Content preview from JavaScript Cookbook, 2nd Edition

Chapter 15. Advanced Client-Server Communications and Streams

Ajax opened up a world of possibilities for JavaScript developers, and it’s rare nowadays that we don’t find data being updated in place thanks to the technology. But we developers are greedy and we always want more. Thankfully, we have more.

Thanks to the newer Cross-Origin Resource Sharing (CORS), we can now make requests of data and services of other domains as easily as we make those in our own. Perhaps more importantly, we can make requests against our own services running under a different subdomain, or even different port. And we can share data, such as HTTP cookies, too.

We can also indulge in real-time bidirectional communication with Web Sockets, which we can use directly, or assisted by a module such as the popular Socket.IO.

Client-server communication is all about streams, and thanks to the new Node transform streams, we can simply and easily transform the data that’s communicated. In the past, we could send zipped files to the server, but how about downloading the file, opening it for compression, and then saving the results in a few simple lines of code?

Allowing Cross-Domain Requests

Problem

You understand how to use Ajax, but the data you need is provided on a server in another domain. When you try to access the data, you got the error shown in Figure 15-1.

Error accessing data in another domain with an Ajax request
Figure 15-1. Error accessing data in another domain with ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaScript Cookbook, 3rd Edition

JavaScript Cookbook, 3rd Edition

Adam D. Scott, Matthew MacDonald, Shelley Powers

Publisher Resources

ISBN: 9781491902431Errata Page