Angular和jQuery的ajax请求的区别

 我来答
308xiaobao
高粉答主

2016-09-24 · 每个回答都超有意思的
知道大有可为答主
回答量:2.6万
采纳率:95%
帮助的人:2753万
展开全部

Angular和jQuery的ajax请求的区别介绍:

  1. jquery是javascript对象转换了字符串,传给后台。在SpringMVC中,就可以使用@RequestParam注解或者request.getParameter()方法获取参数。而在angular中,$http的contentType默认值是application/json;charset=UTF-8,这样在后台,SpringMVC通过@RequestParam注解或者request.getParameter()方法是获取不到参数的。

  2. 使用angular发送请求(asave方法)时,使用firbug看:

    使用jquery发送请求(jsave方法)时,使用firbug看:

  3. 以前使用jquery,一般使用@RequestParam注解或者request.getParameter方法接受数据。但是使用angular后,这样是接收不到数据的。如果想接收,可以这样,定义一个接收的类,要有setter和getter方法。例如:

    定义User类

    public class User {

       public String name;

       public String id;

        public String getName() {

           return name;

       }

       public void setName(String name) {

           this.name = name;

       } 

      public String getId() {

           return id;

       }

         public void setId(String id) {

           this.id = id;

       }

    }

在Controller中

@RequestMapping("/asave")

    @ResponseBody

    public String asave(@RequestBody User user){

        System.out.println("name---"+user.getName());

        System.out.println("id---"+user.getId());

        return "ok";

    }

所以,angular默认的这种请求的传参方式,还得定义一个类,所以,在使用angular发送请求时,可以按照上面说的方法,改成jquery方式,这样,对于一些简单参数,获取就比较方便一些。

完整controller代码:

@Controller

public class MyController {

 

    @RequestMapping("/test")

    @ResponseBody

    public String test(){

        return "hello world";

    }

 

    @RequestMapping("/asave")

    @ResponseBody

    public String asave(@RequestBody User user){

        System.out.println("name---"+user.getName());

        System.out.println("id---"+user.getId());

        return "ok";

    }

 

    @RequestMapping("/jsave")

    @ResponseBody

    public String jsave(@RequestParam String name, @RequestParam String id){

        System.out.println("name---"+name);

        System.out.println("id---"+id);

        return "ok";

    } 

}

   

你猜我猜哇擦猜
2016-03-24 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2万
采纳率:0%
帮助的人:6760万
展开全部
jQuery的post明显比angularjs的要简单一些,人性化一些
AngularJS:
$http.post('do-submit.php',myData).success(function(){ // some code});jQuery:
$.post('do-submit.php', myData, function() { // some code});看起来没什么区别吧?可是,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到,而需要用:
$params = json_decode(file_get_contents('php://input'),true);
来获取。这是因为两者的post对header的处理有所不同……jQuery会把作为JSON对象的myData序列化,例如:
var myData = { a : 1, b : 2 };
jQuery在post数据之前会把myData转换成字符串:"a=1&b=2"
而Angular不会。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d9a07ce
2016-07-11 · 超过13用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:12.2万
展开全部

    注意angular和jquery的ajax请求是不同的。

  1. 在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8

    而参数data,jquery是进行了转换的。所以,jquery是javascript对象转换了字符串,传给后台。在SpringMVC中,就可以使用@RequestParam注解或者request.getParameter()方法获取参数。

  2. 而在angular中,$http的contentType默认值是

    application/json;charset=UTF-8

    这样在后台,SpringMVC通过@RequestParam注解或者request.getParameter()方法是获取不到参数的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宁波宫品海参
2016-03-27 · TA获得超过3576个赞
知道小有建树答主
回答量:1743
采纳率:84%
帮助的人:218万
展开全部
  在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8
  jquery是javascript对象转换了字符串,传给后台。在SpringMVC中,就可以使用@RequestParam注解或者request.getParameter()方法获取参数。
  而在angular中,$http的contentType默认值是
  application/json;charset=UTF-8
  这样在后台,SpringMVC通过@RequestParam注解或者request.getParameter()方法是获取不到参数的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Alan451652877
2016-06-14
知道答主
回答量:83
采纳率:0%
帮助的人:20.1万
展开全部
angular的ajax是基于promise来做的,即$http.post(ulr, params).then()
jquery则是基于立即响应,在ajax中第三个参数就是callback方法,
另外angular的$http方法,已经做好了很多拦截服务,$httpProvide服务
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zgz_L丶
2016-08-15 · 超过16用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:19.3万
展开全部
没什么区别,一定要说有,那就是 angular对ajax做了更好的优化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和蔼的sqx
2016-04-15 · 超过16用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:17.7万
展开全部
jq的应用更广泛一些,更实用一些。课题通过request.getParameter()得到参数。
但angular有限制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式