關于Jquery中ajax方法data參數用法的總結

jquery手册描述:

data 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

示例:
$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});
这里data后面跟的参数可以用二种表式:一种是普通url传参的写法一样,还有一种就是写在json数组里,
上面示例data部分也可以这样写:data: {name:"John",location:"Boston"}。这二个用法有什么区别?
今天在开发中发现二者用法的细微差别。第一种我们用url传参,参数里面如果加带"&"这个符号的话,可能参数接收不到或不完整,如“ data: "name=John&location=Boston",”,
如果name的值是"john&smith"这样写可能就会有问题,我们可以用JS里面的encodeURIComponent()方法进行转义,
但如果用data: {name:"John",location:"Boston"}这种方式写的话就不需要进行转义,如果转义的话,接收的将是转义后的字符串

 

更多相关文章
一周排行
  • iOS開發之SQLiteC語言接口規範(四) —— Result Values From A Query
    数据库的在上一篇博客中<SQLite之C语言接口规范(三)——Binding Val ...
  • 前言 本章内容是 android.bluetooth.BluetoothSocket,为Android蓝牙部分的章节翻译.蓝牙通讯套接字,代表了与远端设备的连接点,使用socket本地程序可以通过inputstrea ...
  • OS:LFS6.2 软件:net-tools-1.60 今天终于把缠绕我很久的问题,解决了,进了系统,但是发现没有 ifconfig,netstat 等命令,很不爽,在网上查了查,关于这方面的内容好少,没辦法,进了一
  • Qt4.0中又增加了一个非常有用的类QSettings,这个类是Qt4提供的一个读取配置文件的类,在Windows平台上,它提供了ini文件的读写,以及注册表的读写功能.我们都知道,用户对于应用程序经常有某种需要,比
  • HDUOJ(1162)Eddys picture(最小生成樹)
    Eddy's picture Time Limit: 2/1 MS (Java/Other ...
  • 缩进和水平对齐 缩进文本:text-indent 可以设置为负值 可以为所有块级元素应用,但无法应用到行内元素,图像之类的替换元素: 水平对齐: text-align left,center,right,justif
  • 当SIEM和安管平台面对海量的事件,必须做出选择,用什么技术来存储这些事件?很早,我们就知道关系型数据库可以做这个事儿.但是,随着事件量的增大,关系型数据库越来越不堪重负.于是,人们开始重新思考,有的选择了直接操作文
  • 概述 1.意义 把数据放到Cache中,在指定的时间内,可以直接从Cache中获取,避免对数据库等的压力. 2.做法 设置:      HttpRuntime.Cache.Insert(CacheKey, objOb
  • 0X7FFFFFFF,0X80000000
    给int类型赋值的话,0X7FFFFFFF代表最大值,0X80代表最小值 INT_MAX
  • 今天做android上的消息推送,启动了一个独立service,然后在里面监听系统的ACTION_TIME_TICK消息,即tick就是以分钟为单位,每分钟都会监听到一次, 按照网上说的在androidmanifas