有人能解释Ajax和rest之间的区别吗
Can someone explain the difference between Ajax and rest?
AJAX
异步Javascript和XML";。Ajax松散地定义了一组
帮助web应用程序呈现更丰富用户的技术
经验完成了屏幕的数据更新和刷新
异步使用javascript和xml(或json或只是普通的httpPOST(
休息
"代表性国家转移";。使用REST原则的应用程序具有Url结构和循环的请求/响应模式围绕资源的使用。在纯模型HTTP谓词Get中,Post、Put和Delete用于检索、创建、更新和删除资源。Put和Delete通常不使用,剩下Get和Post to map以选择(GET(并创建、更新和删除(Post(
我对这些术语真的很困惑,我用Symfony2编写网站代码,一切都很正常,但当我的老板问我是怎么做到的时,我真的不知道该用什么词来解释。这可能是因为我一开始只是一种爱好,一生都专注于实用部分。
假设我在客户端有以下代码(javascript(:
function image_remover(myimageId,path)
{
// creating xmlhttprequest using ajax
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控制器(
/**
*@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(尽管现在经常使用JSON而不是XML(。这就是您在客户端使用的技术。
REST是一个用于HTTP请求交换的概念,因此您正在对服务器端实现的REST-API进行RESTful请求调用(例如"get"(。
请参阅:AJAX是Rest-api 吗
你可能想在维基百科和其他易于访问的信息源上读一点关于REST和AJAX的知识。
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- JavaScript中的函数和对象之间没有区别吗?
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- javascript函数的:和=之间的区别
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 函数中this和var之间的区别
- “util.inherits”和在NodeJS中扩展原型之间的区别
- Math.min()和Math.max()之间有什么区别?在Javascript中
- webpack开发模式和生产构建模式之间有什么区别
- servlet和代理servlet之间的区别
- Javascript 类型未定义和 void 之间的区别
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 布局引擎和javascript引擎之间的区别
- 什么's extjs中的mon()和on()之间的区别
- type=text/javascript和language=javascript之间的区别
- 函数()和新函数()之间的区别
- JavaScript中let和var之间的区别
- 蓝鸟的done()和spread()之间的区别
- Node.js HTTP/NET——连接和请求之间的区别