アヤックス
非同期JavascriptとXML」。Ajaxは、Webアプリケーションがより豊かなユーザーエクスペリエンスを提供できるようにする一連のテクノロジーを大まかに定義しています。画面のデータ更新と更新は、javascriptとxml(またはjsonまたは通常のhttpポスト)を使用して非同期で行われます。
残り
「代表的な州の移転」。 RESTの原則を使用するアプリケーションには、リソースの使用を中心としたUrl構造と要求/応答パターンがあります。純粋なモデルでは、HTTP動詞のGet、Post、Put、Deleteを使用して、リソースを作成、更新、削除します。PutとDeleteは多くの場合使用されず、GetとPostは選択(GET)と作成、更新、削除(POST)にマップされます。
私はこれらの用語について本当に混乱しています、私はSymfony2でWebサイトをコーディングし、すべてが常に機能しますが、上司が私にそれをどうやってやったのか尋ねたとき、私はそれを説明するために使う言葉が本当にわかりません。これらすべてを趣味として始め、実用的な部分に集中して私の人生を過ごしました。
クライアント側にこのコードがあるとしましょう(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);
}
そして、これはサーバー側(PHP/Symfony2 Controller with 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));
}
}
}
このコードのどの部分でRESTを使用しましたか? AJAXのどの部分ですか? RESTを使用しましたか?
私はあなたのコードについて詳細にはコメントしませんが、
AJAXは基本的にJavaScriptで非同期リクエストを作成することを指し、従来はXMLを送受信します(現在、XMLの代わりにJSONがよく使用されます)。これがクライアント側で使用する手法です。
RESTはHTTPリクエスト交換の概念であるため、サーバー側で実装したREST-APIに対してRESTfulリクエストコール(「get」など)を行っています。
また、RESTとAJAX Wikipediaやその他のアクセスしやすい情報源について)について少しお読みになることをお勧めします。