jQuery中get和post方法传值测试及注意事项


Posted in Javascript onAugust 08, 2014

用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢?
刚刚做了几个实验,看看下面的代码就清楚了:
以下内容需要回复才能看到

jquery_data.php

echo "post: ";
print_r($_POST);
echo "get: ";
print_r($_GET);
?>

jquery_test.html

实验1:

$(function() {
// post 方法,两处都有数据
$.post('jquery_data.php?v1=1', {v2: 2}, function(data) {
$('
').append(data).appendTo('body');
});
});

返回结果:

post: Array
(
[v2] => 2
)
get: Array
(
[v1] => 1
)

实验2:

$(function()
{
// post 方法,数据在地址后面, 第二个参数为回调函数
$.post('jquery_data.php?v1=1', function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});

返回结果,数据在 get 中:

post: Array
(
)
get: Array
(
[v1] => 1
)

实验3:

$(function()
{
// get 方法,用 data 参数传值
$.get('jquery_data.php', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});

返回结果,数据在 get 中:

post: Array
(
)
get: Array
(
[v2] => 2
)

实验4:

$(function()
{
// get 方法,两处都有数据
$.get('jquery_data.php?v1=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});

返回结果,两处数据被合并了,都在 get 中:

post: Array
(
)
get: Array
(
[v1] => 1
[v2] => 2
)

实验5:

$(function()
{
// get 方法,两处都有数据,且变量名相同
$.get('jquery_data.php?v2=1', {v2: 2}, function(data)
{
$('<pre/>').append(data).appendTo('body');
});
});

返回结果,数据在 get 中,且 data 参数中的数据覆盖了地址后面的数据:

post: Array
(
)
get: Array
(
[v2] => 2
)

通过这几个简单的小例子不难看出,地址后面的数据永远是以 get 形式传递的,无论使用的是 get 方法还是 post 方法;而 data 参数中的数据是根据方法决定传递方式的。

因此,为了避免混淆,建议大家尽量不要把数据写在地址后面,而是统一放在 data 参数中。

当然,如果你想在用 post 方法时,同时利用 get 传值,那么就可以把要以 get 方式传递的数据写在地址后面,把要以 post 方式传递的数据写在 data 参数中。

总之方法是死的,人是活的,怎么用还要看实际情况。子曾经曰过:实践是检验真理的唯一标准。没事做做实验,掌握知识更牢固。

Javascript 相关文章推荐
模仿jQuery each函数的链式调用
Jul 22 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
Apr 09 Javascript
JS中把字符转成ASCII值的函数示例代码
Nov 21 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
JavaScript中的typeof操作符用法实例
Apr 05 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
JS获取元素多层嵌套思路详解
May 16 Javascript
Bootstarp基本模版学习教程
Feb 01 Javascript
canvas绘制七巧板
Feb 03 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 Javascript
HTML元素拖拽功能实现的完整实例
Dec 04 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 #Javascript
js事件监听机制(事件捕获)总结
Aug 08 #Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 #Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
Aug 08 #Javascript
js调试工具console.log()方法查看js代码的执行情况
Aug 08 #Javascript
JS创建类和对象的两种不同方式
Aug 08 #Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 #Javascript
You might like
Symfony2 session用法实例分析
2016/02/04 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
python字典DICT类型合并详解
2017/08/17 Python
Python延时操作实现方法示例
2018/08/14 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python Collatz序列实现过程解析
2019/10/12 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
热能动力工程毕业生自荐信
2013/11/07 职场文书
初级党校心得体会
2014/09/11 职场文书
勇敢的心观后感
2015/06/09 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL