In this book, we are concentrating on loading, mapping, and modifying spatial data on the client-side. However, we should be able to send our modified data to our server. Server-side applications are out of the scope of this book, though we cover how to initialize a saving process. Note that this example, called ch04_save, will produce errors as we don't have server-side support for receiving spatial data. Don't worry about that; the client side part works perfectly fine.
OpenLayers 3 offers powerful parser objects that are not only capable of reading strings representing vector data, but can also write features back to well-recognized formats. We can easily send a GeoJSON file with the following code:
var geoJSONSerializer = new ol.format.GeoJSON();
var featString = geoJSONSerializer.writeFeatures(this.getFeatures());
var request = new XMLHttpRequest();
request.open('POST', 'myserver/myscript');
request.send(featString);