jQuery get和post 方法传值注意事项


Posted in Javascript onNovember 03, 2009

刚刚做了几个实验,看看下面的代码就清楚了:
以下内容需要回复才能看到
jquery_data.php

<?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) 
{ 
$('<pre/>').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 相关文章推荐
JavaScript Date对象 日期获取函数
Dec 19 Javascript
js弹出div并显示遮罩层
Feb 12 Javascript
JS 获取浏览器和屏幕宽高等信息代码
Mar 31 Javascript
JS实现自动定时切换的简洁网页选项卡效果
Oct 13 Javascript
jsTree使用记录实例
Dec 01 Javascript
深入理解jQuery()方法的构建原理
Dec 05 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
Oct 25 Javascript
vue项目初始化到登录login页面的示例
Oct 31 Javascript
JS+DIV实现拖动效果
Feb 11 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 Javascript
js window.onload 加载多个函数的方法
Nov 02 #Javascript
深入认识javascript中的eval函数
Nov 02 #Javascript
javascript 按回车键相应按钮提交事件
Nov 02 #Javascript
JQuery 解析多维的Json数据格式
Nov 02 #Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 #Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 #Javascript
JS OOP包机制,类创建的方法定义
Nov 02 #Javascript
You might like
php $_ENV为空的原因分析
2009/06/01 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
Python程序语言快速上手教程
2012/07/18 Python
python之wxPython菜单使用详解
2014/09/28 Python
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
国税会议欢迎词
2014/01/16 职场文书
竞聘书格式及范文
2014/03/31 职场文书
房屋买卖协议书
2014/04/10 职场文书
刑事申诉状范文
2015/05/20 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL