Skip to content Skip to sidebar Skip to footer

Delete Post With Blogger Api

I'm using the Blogger Protocol API and I'm having trouble deleting posts. I'm working on a webOS device and so I can't send DELETE directly; instead I use Google's workaround to u

Solution 1:

From what I can tell, your issue with the HTTP methods is not webOS, but in Prototype according to the source.

I would suggest creating a subclass:


<script type="text/javascript">
var MyAjaxRequest = Class.create(Ajax.Request, {

request: function(url) {
    this.url = url;
    this.method = this.options.method;
    var params = Object.isString(this.options.parameters) ?
          this.options.parameters :
          Object.toQueryString(this.options.parameters);

/* comment out this stuff that prevents you from using the DELETE method

if (!['get', 'post'].include(this.method)) {
  // simulate other verbs over post
  params += (params ? '&' : '') + "_method=" + this.method;
  this.method = 'post';
}
Copy

*/if (params && this.method === 'get') {
  // when GET, append parameters to URLthis.url += (this.url.include('?') ? '&' : '?') + params;
}

this.parameters = params.toQueryParams();

try {
  var response = new Ajax.Response(this);
  if (this.options.onCreate) this.options.onCreate(response);
  Ajax.Responders.dispatch('onCreate', this, response);

  this.transport.open(this.method.toUpperCase(), this.url,
    this.options.asynchronous);

  if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);

  this.transport.onreadystatechange = this.onStateChange.bind(this);
  this.setRequestHeaders();

  this.body = this.method == 'post' ? (this.options.postBody || params) : null;
  this.transport.send(this.body);

  /* Force Firefox to handle ready state 4 for synchronous requests */if (!this.options.asynchronous && this.transport.overrideMimeType)
    this.onStateChange();

}
catch (e) {
  this.dispatchException(e);
}
Copy

});
</script>

That way you can use method: 'DELETE'

Post a Comment for "Delete Post With Blogger Api"