码迷,mamicode.com
首页 > Web开发 > 详细

restful规范下的ajax请求

时间:2017-12-02 14:03:45      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:user   必须   string   body   ring   需要   是什么   标识   spring   


restful 四种请求
get是安全(不管操作多少遍,资源的状态不会变)的,
get,delete,put是幂等(不管操作多少次,结果都一样)的,
post既不安全也不幂等
  put与post比较:增加操作可以使用POST或PUT,区别在于POST 是作用在一个集合资源之上的(/uri),而PUT操作是作用在一个具体资源之上的(/uri/xxx),再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。


restful ajax发送请求

客户端:

关于contentType
    默认application/x-www-form-urlencoded
    除默认,常见的还有:
        contentType: "application/json; charset=utf-8",    contentType: "text/xml",
关于get,post,put,delete请求
    发送get请求,上面提到的三种方式都可以,因为get方式,参数是跟在url后边,与Content-Type无关。
    其它请求,就要考虑contentType,设置相应的值了。
关于data
    当有大量参数,可以包装成json格式,通过JSON.stringify()将其序列化进行传输
    例如:data:JSON.stringify(paramObject),//传递json字符串做参数,将来在controller中用@RequestBody接收
    如下:
        var paramObject = {
        "login_name":login_name,
        "nick_name":nick_name,
        "real_name":real_name,
        "email":email
    };
    //发送Ajax请求
    $.ajax({
        url:"http://localhost:8888/spring5/user/"+id,
        type:"put",
        contentType:"application/json",//指定传递新的类型为json
        data:JSON.stringify(paramObject),//传递json字符串做参数,将来在controller中用@RequestBody接收
        dataType:"json",
        success:function(result){
            if(result.status==1){//成功
                window.parent.location.reload();//刷新父窗口
            }else{
                layer.msg(result.msg);//提示失败    
            }
        }
    });




服务端
@ResponseBody//将返回的Java对象转成JSON字符串输出 将请求传过来的JSON字符串转成Java对象

需要明白的是:其实2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。但不符合rest规范


restful规范下的ajax请求

标签:user   必须   string   body   ring   需要   是什么   标识   spring   

原文地址:http://www.cnblogs.com/shixiaoce/p/7953882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!