Quelqu'un peut-il expliquer la différence entre Ajax et le repos?
Ajax
Asynchronous Javascript and XML". Ajax vaguement définit un ensemble de
technologies pour aider à rendre les applications web offrent un utilisateur plus riche
l'expérience. Mise à jour des données et actualisation de l'écran est fait
de manière asynchrone à l'aide de javascript et xml (ou json ou juste un type normal l'adresse http
post)
Reste
"Representational State Transfer". Applications à l'aide de principes de REPOS
avoir une structure d'Url et une demande/réponse modèle 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
ressources respectivement. Put et Delete ne sont pas souvent utilisés, laissant Obtenir
et après à la carte pour sélectionner (GET) et de créer, mettre à jour et supprimer des (POST)
Je suis vraiment confus au sujet de ces conditions, j'ai le code des sites web avec Symfony2 et tout fonctionne toujours, mais dès que mon patron me demande comment j'ai fait je ne sais pas vraiment les mots à utiliser à l'expliquer.Il pourrait être parce que j'ai commencé tout cela comme un passe-temps et passé ma vie en se concentrant sur la partie pratique.
Permet de dire que j'ai ce code sur le 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 de ce côté serveur (PHP /Symfony2 Contrôleur 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));
}
}
}
À ce que la partie de ce code, ai-je le REPOS? Quelle partie est de l'AJAX? je n'ai même pas le REPOS?
source d'informationauteur user254883
Vous devez vous connecter pour publier un commentaire.
Je ne ferai pas de commentaire sur votre code en détail, mais:
AJAX fait en fait référence à la prise de requête asynchrone en JavaScript, traditionnellement, l'envoi/réception de XML (bien que de nos jours, JSON est souvent utilisé à la place de XML).
Donc, c'est la technique que vous utilisez sur le côté client.
RESTE n'est qu'un concept pour la requête HTTP de change, de sorte que vous êtes de décisions Reposant demande des appels (par exemple, 'get') contre le RESTE du monde-API-vous mis en œuvre sur le côté serveur.
Voir: Est AJAX une api Rest
Et vous pouvez lire un peu sur le REPOS et AJAX sur Wikipédia et d'autres d'accéder facilement à des sources d'information.