与RESTful服务和ajax混淆

与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"

我英语说得不好,原谅我解释得不好

在开发web时,我总是对RESTful的定义感到困惑

例如,客户端(即浏览器、手机等)需要一个用户列表

因此,客户端请求一个GET方法url

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部分指的是如何组合服务器

另请参见:,

相关:。