使用$.ajax时的注意事项

做PHP难免接触js,我也是这样,使用ajax的时候,我比较习惯使用$.ajax({}),这种方式,因为通用性较强。有时候会较少使用js,隔一段时间后再使用,有些细节内容容易模糊不清,这一次,我又忘记多个参数时的 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"}这种方式写的话就不需要进行转义,如果转义的话,接收的将是转义后的字符串

原文地址【http://www.cnblogs.com/tim190/archive/2010/10/20/1856523.html】

时间: 2024-08-29 19:04:32

使用$.ajax时的注意事项的相关文章

Jquery Ajax时 error处理 之 parsererror

Jquery Ajax时 error处理 之 parsererror     01 $.ajax({ 02         type: "POST", 03         contentType: "application/json", 04         url: myurl, 05         <font color="#ff0000">data</font>: {}, 06         timeout:

局部变量与全局变量在声明时的注意事项

/* ============================================================================ Name : TestVariable.c Author : lf Version : Copyright : Your copyright notice Description : 局部变量与全局变量在声明时的注意事项 全局变量只能要常量赋值,但是局部变量可用常量和表达式以及函数赋值. 这是为什么呢? 程序在开始执行时需要用适当的值来初

使用MySQL-Proxy读写分离时的注意事项

在动手操作前最好先安装好MySQL-Proxy,并配置好MySQL主从服务器.补充:新版MySQL已经内建支持 延迟问题 读写分离不能回避的问题之一就是延迟,可以考虑Google提供的SemiSyncReplicationDesign补丁. 端口问题 MySQL-Proxy缺省使用的是4040端口,如果你想透明的把3306端口的请求转发给4040的话,那么可以: iptables -t nat -I PREROUTING -s ! 127.0.0.1 -p tcp --dport 3306 -j

页面重构时的注意事项

页面重构时的注意事项 1. 重构页面时,什么样的代码才算是好的代码? 2. 重构时如何告诉设计师,他设计的东西太丑? 1. 重构页面时,什么样的代码才算是好的代码? 这个我感觉要从三方面来做答,基础的就不说了,那些语义化,结构化,兼容性等等方面的问题.说说中级部分的: 页面的健壮性: 这个怎么说呢,按我的理解,UI出的psd图是一个页面理想状态下的形态,而真实上线后,会出现三种极端状态,一,数据极多,二,数据极少,三,数据刚好(其实就是PSD设置描述的一个状态).所以在页面排版的时候,考虑这设计

SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件

<?xml version="1.0" encoding="UTF-8"?> <!-- SpringMVC配置文件 --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3

【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro

一般我们在页面调用Ajax时,需要通过 js 调用ajax ,接着后台处理得到的数据,然后返回数据,ajax 得到返回的数据进行处理. 然而有没有可以像调用方法一样来进行Ajax操作呢? AjaxPro 可以办到.简单示例如下,先看效果图: 核心就是 AjaxPro.2.dll 文件,简单配置一下就可以了,步骤如下: 1.引用 AjaxPro.2.dll 文件,配置 Web.config 文件: <configuration> <system.web> <compilatio

给电脑系统备份时的注意事项

给电脑系统备份时的注意事项 当你的电脑随着使用时间变长,由于各类程序的安装,或许会出现各式各样的系统问题,如系统经常崩溃,病毒突然来袭等等.给电脑系统备份是必然的一个选择.那么在进行系统备份之前我们应该注意哪些事项呢? 首先如果你选择系统自带的备份工具,那么请确定你自己完全能够自行操作,以免误操作导致电脑不能使用. 可以对你的系统盘(C盘)里面的垃圾文件进行简单清理(可以去网上查下那些C盘文件是可以进行清理的),这样备份出来的镜像文件会更小,备份时间也不会那么长. 建议备份系统的时候最好是你重新

页面进行ajax时 显示一个中间浮动loading

先发效果图,加载东西的时候如果没有设计或者其它提示会降低用户体验,所以写了个简单的loading弹层. 适用于触屏和pc页面. /* 页面进行ajax时 显示一个中间浮动loading @auther: LM @date: 2015-6-10 @rely: html5触屏 @fun: LM_loading.show(); //显示 @fun: LM_loading.hide(); //隐藏 */ (function(window){ var LM_loading = { Timmer:null,

Ajax详解及使用Ajax时的返回值类型有哪些?

Ajax详解 Ajax = 异步 JavaScript 和 XML. Ajax 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 Ajax)如果需要更新内容,必需重载整个网页面. (注:图片来自网络) 如何使用Ajax技术 首先,需要获取XMLHttpRequest对象: var xhr; xhr = new XMLHttpRequest(); XMLH