与RESTful服务和ajax混淆
我英语说得不好,原谅我解释得不好 在开发web时,我总是对RESTful的定义感到困惑 例如,客户端(即浏览器、手机等)需要一个用户列表 因此,客户端请求一个GET方法url与RESTful服务和ajax混淆,ajax,json,rest,Ajax,Json,Rest,我英语说得不好,原谅我解释得不好 在开发web时,我总是对RESTful的定义感到困惑 例如,客户端(即浏览器、手机等)需要一个用户列表 因此,客户端请求一个GET方法url domain/give_me_user_list 明白了!服务器响应json格式的数据,如下所示 { "users": [ { "name": "john doe" }, { "name": "john smith"
domain/give_me_user_list
明白了!服务器响应json格式的数据,如下所示
{
"users": [
{
"name": "john doe"
},
{
"name": "john smith"
}
]
}
这是休息式服务吗?就这些
但是ajax调用呢
$.ajax ->
url: domain/give_me_user_list,
success: (users) ->
#do somthing
我们也称之为RESTful服务吗
我的问题是,RESTful服务术语听起来像是一种新的流行技能,但我觉得它只是一个ajax调用…它们实际上是两个完全不同的东西,经常一起使用 宁静服务 RESTful描述了一种服务定义其API的方法。它支持为每种类型的请求提供一个URL,并使用HTTP中内置的本机操作方法。这与另一种常见模式形成对比,在这种模式中,所有请求都使用POST方法指向同一URL,并且所需资源和操作的描述在消息体中编码 <>所以,让我们考虑每个方法的一个例子。假设我们有一个典型的博客,它是由带有相关评论的帖子组成的。使用较旧的非RESTful样式,您可能会发出以下请求以阅读特定的博客文章,然后编写一些更改:
POST /service/action.do
body: { "action":"read", "resource":"blog_post", "id":1234 }
POST /service/action.do
body: {"action":"update", "resource":"blog_post", "id":1234, text:"Lorem ipsum..." }
使用RESTful服务,它可能看起来更像:
GET /service/blog_post/1234
body: none
PUT /service/blog_post/1234
body: { "text":"Lorem ipsum..."}
它还有很多,其中一些非常微妙,但这是RESTful和非RESTful服务API之间的主要区别
AJAX
AJAX描述了一种构建web页面的方法,在这种方法中,可以向web页面添加新内容,而无需从服务器完全刷新页面。一个小的例子是财务页面,它在不刷新页面的情况下更新股票价格,一个大的例子是谷歌地图(GoogleMaps),在那里你根本看不到整页刷新
在这两种情况下,当用户与页面交互时,通过使用浏览器中作为JavaScript环境一部分提供的XMLHTTPRequest
对象加载新内容。这允许JavaScript代码进行常规HTTP请求,而无需触发浏览器刷新页面。返回响应后,将使用更多JavaScript代码将新数据集成到现有页面中
总结
正如您所看到的,这两个词指的是完全不同的事物,但可以很容易地结合起来使用来创建一个动态网站。AJAX部分指的是如何组合客户机,而RESTful部分指的是如何组合服务器
另请参见:,相关:。