http://stackoverflow.com/questions/41898747/why-is-my-ajax-post-being-truncated

by jlspake

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
<div>
  <h4 data-bind="text: Title"></h4>
  <input type="button" data-bind="click: send" value="Send" />
</div>

JavaScript

var viewModel = function(){
	var self = this;
  self.Title = ko.observable("Hello World");
  
  self.JSONify = function () {
  	var obj = {data: 'junk', otherData: JSON.stringify({data2: "meh&crapo'rama"})};
    var data = ko.mapping.toJSON(self, obj);
    return data;
	};

  self.send = function(){
  	console.log self.JSONify();
  	$.ajax("/echo/json", {
      type: "POST",
      cache: false,
      data: { telemetry: self.JSONify(), userID: 1, isMyVI: true }
    }).always(function(response){
    	console.log(response);
    }).fail(function(response){
    	console.log("error: " + response);
    });
  };
  
}

ko.applyBindings(new viewModel());