Ajax
Javascript et XML asynchrone ". Ajax définit de manière lâche un ensemble de technologies pour aider à rendre les applications Web plus riches en expérience utilisateur.
Du repos
"Transfert d'État Représentatif". Les applications utilisant les principes REST ont une structure Url et un modèle de demande/réponse qui tournent autour de l'utilisation des ressources. Dans un modèle pur, les verbes HTTP Get, Post, Put et Delete sont utilisés pour récupérer , créer, mettre à jour et supprimer des ressources respectivement. Put et Delete ne sont souvent pas utilisés, laissant Get et Post sur la carte pour sélectionner (GET) et créer, mettre à jour et supprimer (POST)
Je suis vraiment confus à propos de ces termes, je code des sites Web avec Symfony2 et tout fonctionne toujours, mais dès que mon patron me demande comment je l'ai fait, je ne connais pas vraiment les mots à utiliser pour l'expliquer. a commencé tout cela comme un hobby et a passé ma vie à me concentrer sur les parties pratiques.
Disons que j'ai ce code côté client (javascript):
function image_remover(myimageId,path)
{
var xml = ( window.XMLHttpRequest ) ?
new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xml.open("GET", path+"?imageId="+myimageId, true);
xml.setRequestHeader("Content-type", "application/json");
xml.onreadystatechange = function()
{
if( xml.readyState === 4 &&
xml.status === 200 )
{
var serverResponse = JSON.parse(xml.responseText);
switch(serverResponse.d)
{
// do stuff
}
}
}
xml.send(null);
}
Et cela côté serveur (PHP/Symfony2 Controller avec annotations)
/**
*@Route("/removeImage",name="image_remover")
*/
public function removeImageAction(Request $request)
{
//If user is not logged in..
if (false === $this->get('security.context')->isGranted('ROLE_USER'))
{
//ip block
return new Response("an error has occured");
}
//My requests
$current_imageId = intval($request->query->get('imageId'));
//Getting image repository
$em = $this->getDoctrine()->getManager();
$db_myimage = $em->getRepository('GabrielUploadBundle:Image')->findOneById($current_imageId);
//if image was found
if($db_myimage)
{
//Owner of this image
$imageowner = $db_myimage->getImageowner();
//Getting user name
$user = $this->getUser();
$current_username = $user->getUsername();
// is username == imageowner? if not = block ip
if($current_username == $imageowner)
{
//remove image from database
$em->remove($db_myimage);
$em->flush();
// d = deleted y = yes
$response = array("d"=>1);
return new Response(json_encode($response));
}
else
{
//ip block
$response = array("d"=>0);
return new Response(json_encode($response));
}
}
else
{
//image object not found
//d = deleted, n = not found
$response = array("d"=>0);
return new Response(json_encode($response));
}
}
}
À quelle partie de ce code ai-je utilisé REST? Quelle partie est AJAX? ai-je même utilisé REST?
Je ne commenterai pas votre code en détail, mais:
AJAX se réfère essentiellement à la demande asynchrone en JavaScript, traditionnellement l'envoi/la réception de XML (bien que de nos jours, JSON soit souvent utilisé à la place de XML). C'est donc la technique que vous utilisez côté client.
REST est un concept d'échange de requêtes HTTP, vous effectuez donc des appels de requête RESTful (par exemple, `` get '') contre l'API REST que vous avez implémentée côté serveur.
Voir: Is AJAX a Rest api
Et vous voudrez peut-être en savoir un peu plus sur REST et AJAX sur Wikipédia et d'autres sources d'informations faciles d'accès).