jQuery get和post 方法传值注意事项
用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和 回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1 v2=2),而且第二个参数可以省略,即第二个参数可以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢?
-
刚刚做了几个实验,看看下面的代码就清楚了:
以下内容需要回复才能看到
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 参数中。
总之方法是死的,人是活的,怎么用还要看实际情况。子曾经曰过:实践是检验真理的唯一标准。没事做做实验,掌握知识更牢固.
详细出处参考:http://www.jb51.net/article/20732.htm
【笔记10】JS的类、继承、Getter和Setter、jQuery的extend方法 最近要使用 Layui mini 单页版进行后台管理项目的前端页面的开发。完完全全使用 Layui 的模块化开发项目还是比较伤脑筋,所以我决定对 Layui mini 单页版进行自己的封装。封装需要了解 JS 相关的语法和知识点,该篇文章就是对封装过程中 JS 知识点的记录。 技术支持:https://www.runoob.com/js
相关文章
- 修改jQuery.validate验证方法和提示信息
- jquery 获取和设置 select下拉框的值(转手册)
- Bootstrap报错:Bootstrap's JavaScript requires jQuery
- jQuery的prop和attr方法之间区别
- jQuery.Ajax()执行WCF Service的方法
- jQuery 选择同时包含两个或多个class的元素的实现方法
- ichat在线客服jQuery插件(可能是历史上最灵活的)
- jQuery 写的幻灯左右切换插件
- jQuery:jQuery笔记1
- jquery中的ajax方法参数的用法和他的含义
- jQuery双击编辑td数据
- jquery 连写注释;siblings() 方法;jQuery 的3种滑动方法;slideUp()向上滑动;slideDown()向下滑动;slideToggle()来回滑动
- jQuery.ajax各种参数及属性设置
- jQuery兼容浏览器IE8方法
- 使用jquery.form.js的ajaxsubmit方法提交数据的Bug
- jQuery对html元素的取值与赋值实例详解
- jQuery常用方法(持续更新) jQuery(转)
- 使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。
- JQuery
- jQuery 扩展方法
- 【精心推荐】12款很好用的 jQuery 图片滚动插件
- jQuery常用事件方法详解
- JQuery操作元素的属性与样式及位置
- jQuery tabs侧面显示 纵向显示
- jQuery ajax同步的替换方法,使用 $.Deferred()对象
- 带网上开户表单jQuery焦点图
- 基于jQuery鼠标悬停上下滑动导航条
- jQuery向父辈遍历的方法
- jquery 事件绑定及取消 bind live delegate on one区别 (超详细且通俗易懂)
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
- 鼠标悬浮事件 -jQuery hover()方法(layer.js)(layer.tips)