将数据作为以jQuery Ajax方法编码的URL发送到服务器

时间:2017-04-17 13:49:08

标签: javascript jquery ajax

我目前正在支持一个项目。在代码的某些地方,ajax调用将如下所示

== 1

但在其他一些地方,ajax调用将如下所示

var myObj = [
  { name: "first", value: "Rick" },
  { name: "last", value: "Astley" },
  { name: "job", value: "Rock Star" }
];

$.ajax({
   type:"GET",
   url:"https://example.com",
   contentType:"application/json",
   data:myObj,
   success:function(data){
       console.log(data)
   }
});

在上面的代码中,不是使用data属性将数据发送到服务器, 使用$ .param(myObj)将数据与url一起发送。这些方法之间有什么区别。是否有任何具体原因可以使用这些方法中的任何一种

2 个答案:

答案 0 :(得分:0)

第一种是通过在ajax函数的数据键中写入params来传递数据, 第二种是通过在URL本身写入params来传递数据。 它们都是GET请求,传递数据的方式有点差异。 在这两种情况下,数据最终都将作为
?&first=Rick&last=Astley&job=Rock+Star

传递

答案 1 :(得分:0)

GET请求获取数据并将其编码到URL中,因此它们基本相同。值得注意的是,虽然GET请求中的数据可以双向传递,但POST请求通过HTML请求的消息体传递数据,而不是URL。因此,我认为第一种是更好的做法,因为它适用于两种请求类型。