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开发包大全整理
Dec 22 Javascript
javascript 操作Word和Excel的实现代码
Oct 26 Javascript
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
jQuery实现返回顶部功能
Feb 23 Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
Node层模拟实现multipart表单的文件上传示例
Jan 02 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 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
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
php上传大文件设置方法
2016/04/14 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python笔记(叁)继续学习
2012/10/24 Python
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
python实现简单神经网络算法
2018/03/10 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
你懂得怎么写自荐信吗?
2013/12/27 职场文书
服务承诺书怎么写
2014/05/24 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
好媳妇事迹材料
2014/12/24 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
Golang 链表的学习和使用
2022/04/19 Golang