I'm having problems executing the call back function.
$.post("/" + contentId + "/postComment", {
    "postComment": ""
}, function(data) {
    alert('call back');
});
This post does take place. The alert is not called, however.
This post results in some xml returned. I can't tell exactly how it looks because I'm using Spring mappings of application/xml together with @RequestBody and I just don't know what Spring does to what I'm returning. I'm saying this just in case the contents of server response can affect the call back somehow.
The question is:
Your code is fine other than that it doesn't hook the error handler (one of the reasons I don't like $.post). I think the POST operation must be resulting in an error. Try converting it to this:
$.ajax({
  type:    "POST",
  url:     "/"+contentId+"/postComment",
  data:    {"postComment":""},
  success: function(data) {
        alert('call back');
  },
  // vvv---- This is the new bit
  error:   function(jqXHR, textStatus, errorThrown) {
        alert("Error, status = " + textStatus + ", " +
              "error thrown: " + errorThrown
        );
  }
});
...so you can see what the error is.
Had a similar issue where the callback doesn't fire when you provide a string as data and the server returns a JSON response. To get around this, simply explicitly specify the datatype to be JSON:
function update_qty(variant_id, qty){
  $.post('/cart/update.js', "updates["+variant_id+"]="+qty, function(data){
    updateCartDesc(data);
  }, "json");
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With