Gibt es einen Hook, um eine Backbone-Restful-PUT-Anfrage in WordPress zu verarbeiten?

Ich spiele mit Backbone.js (Great!) Herum und möchte meine Modelldaten mit dem WordPress Ajax API (3.6.1) auf der Serverseite synchronisieren. Angepasst an diese http://addyosmani.github.io/backbone-fundamentals/#restful-persistence , hier ist mein Backbone-Beispiel:

var new_posts; var post; (function($){ var Post = Backbone.Model.extend({ id: '', title: '', }); var Posts = Backbone.Collection.extend({ model: Post, url: APP.ajaxurl + '?action=postaction' //APP.ajaxurl == http://localhost/wordpress/wp-admin/admin-ajax.php }); new_posts = new Posts(); new_posts.add([{'id':0, 'title':'Hermann Hesse'}, {'id':1, 'title':'Wolfgang v. Goethe'}, {'id':2, 'title':'Friedrich Schiller'}]); post = new_posts.get(2); post.set('title','Honore de Balzac'); post.save(); }(jQuery)); 

Ich wähle das zweite Element (Modell) aus einer Sammlung aus, ändere das ‘title’ – Attribut und möchte es auf der Serverseite speichern.

Backbone erstellt jetzt mit einem ‘PUT’ eine RESTFUL-Anfrage und fügt den Index des Modells innerhalb der Sammlung (‘2’) an die URL an:

 http://localhost/wordpress/wp-admin/admin-ajax.php?action=postaction/2 

aber ich habe KEINE IDEE, wie man mit dem geänderten GET-Parameter ‘action’ (jetzt: postaction / 2) umgeht, es scheint, dass der Standard-Wordpress-Ansatz mit einem Aktions-Hook ‘wp_ajax_’ nicht der richtige ist

 add_action( 'wp_ajax_postaction', '' ); 

Natürlich kann ich keinen Aktionshaken für jeden möglichen Parameter kodieren, der geändert werden kann! Gibt es einen anderen WordPress-Ansatz, um solche PUT / Restful Request via Ajax zu behandeln?

Für jede Idee danke ich im Voraus! Vielen Dank.

Solutions Collecting From Web of "Gibt es einen Hook, um eine Backbone-Restful-PUT-Anfrage in WordPress zu verarbeiten?"

Die dynamischen wp_ajax_ Hooks dienen hauptsächlich der organisatorischen Bequemlichkeit auf PHP-Seite.

Sie könnten wählen, es nicht zu benutzen, dann müssten Sie wahrscheinlich:

  • hook in admin_init
  • Überprüfe, DOING_AJAX true
  • überprüfen Sie diese Anfrage ( $_REQUEST['action'] und Rest davon) ist Ihre besondere Art von Anfrage

Dann verarbeite entweder deine Anfrage und die() oder lass alles andere zur normalen Handhabung durch.