Je joue avec Backbone.js (Great!) Et je souhaite synchroniser les données de mon modèle avec la wordpress ajax api (3.6.1) côté serveur. Adapté à cela http://addyosmani.github.io/backbone-fundamentals/#restful-persistence , voici mon exemple de colonne vertébrale:
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));
Je choisis le deuxième élément (modèle) dans une collection, modifie l'attribut 'title' et souhaite le sauvegarder côté serveur.
Backbone crée maintenant avec une requête 'PUT' une requête RESTFUL et ajoute l'index du modèle dans la collection ('2') à l'URL:
http://localhost/wordpress/wp-admin/admin-ajax.php?action=postaction/2
... mais je n'ai AUCUNE IDÉE comment gérer le 'action' modifié de GET (maintenant: postaction/2), il semble que l'approche standard de wordpress avec un crochet d'action 'wp_ajax_' n'est pas le bon pour gérer ça
add_action( 'wp_ajax_postaction', '<a function for handling>' );
Bien sûr, je ne peux pas coder un crochet d'action pour chaque paramètre possible, qui peut être modifié! Existe-t-il une autre approche wordpress pour gérer une telle requête PUT/Restful via Ajax?
Pour toute idée, merci d'avance! Je vous remercie.
Les hooks dynamiques wp_ajax_
servent principalement à la commodité de l’organisation côté PHP.
Vous pouvez choisir de ne pas l'utiliser, alors vous devrez probablement:
admin_init
DOING_AJAX
est true
$_REQUEST['action']
et le reste) est votre type de requête spécialEnsuite, traitez votre demande et die()
ou laissez quoi que ce soit passer au traitement normal.