Jquery中$.ajax $.post load用法与区别

在jquery中我们要实现无刷新页面可以使用有$.ajax $.post $('#xxx').load(url,para)三个函数来实现

$.ajax用法


 
 
  1. function getVerify(){
  2. if($( '#regRuser').val()){
  3. var m=$( '#regRuser').val();
  4. if( /^13d{9}$/g.test(m)||( /^15[0-35-9]d{8}$/g.test(m))|| ( /^18d{9}$/g.test(m))){
  5. var postData = $( '#reg_form').serialize();
  6. $.ajax({
  7. type: "POST",
  8. url: "/ajax/getVerify",
  9. data: postData,
  10. success: function(msg){
  11. if(msg> 0){
  12. alert( '验证码已发送至您手机,请注意查收');
  13. $( '#getVerify').hide();
  14. $( '.regnav').css( 'background', 'url(/static/images/v10/regnav2.png)');
  15. $( '#checkvalidate').show();
  16. f_timeout();
  17. $( '.abc').show();
  18. } else if(msg== 0){
  19. alert( '手机号已被注册');
  20. }
  21. }
  22. });
  23. } else{
  24. alert( '请输入正确的手机号');
  25. }
  26. }
  27. }

 心细的朋友会发现中间有一个postData数据,而是由$('#reg_form').serialize();生成了,那么$('#reg_form').serialize();会是什么数据来,我们来简单举个实例

$.Form.serialize( NameValuePair )

虚拟一个表单,并设置表单控件名与值。

参数
NameValuePair
必选项。设置虚拟的表单控件。该参数形式为:{ name1=value, name2=value2, ......}
返回值
虚拟表单序列化后的字符串,其格式如:username=%E5%95%8A%E8%94%A1&password=123456

描述
表单中如有 disabled=true 或者没有 name 属性的控件将被忽略。同名控件将发送一组同名但不同值的字符串。该方法通常用于 Ajax 的提交参数(parameters)。

示例如下:


  
  
  1. <form method="post" name="reg" action="http://localhost">
  2. <input type="text" name="username" />
  3. <input type="password" name="password" />
  4. <input type="checkbox" name="interest" value="music" /> //新用户兴趣爱好调查,勾选
  5. <input type="checkbox" name="interest" value="sport" /> //勾选
  6. <input type="checkbox" name="interest" value="dance" /> //勾选
  7. <input type="submit" value="用户注册" />
  8. <input type="button" value="用JavaScript提交表单" οnclick="test()" />
  9. </form>
  10. <script type="text/javascript" >
  11. function test(){
  12. alert( $.Form( "reg").serialize( { regTime: new Date().toGMTString()} ) ); //serizlize 方法补充了一个时间控件,控件的name=regTime,值为当前时间。
  13. //username=%E5%95%8A%E8%94%A1&password=123456&interest=music&interest=sport&interest=dance&regtime=Thu%2C%2027%20Sep%202007%2008%3A35%3A55%20UTC。
  14. //注意里面的同名表单
  15. }
  16. </script>

从上面可以看得出来这个是ajax get格式了,数据量不能太大了。

 

$.post

jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求


参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

.post("Ajax.aspx", { Action: "post", Name: "lulu" },        function (data, textStatus){            // data 可以是 xmlDoc, jsonObj, html, text, 等等.      //this;    // 这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this     alert(data.result);        }, "json");点击提交:


  
  
  1. function sendMsg()
  2. {
  3. var isphone= checkPhone($( "#username").val());
  4. if(!isphone )
  5. {
  6. $( "#btn").val( "发送中...");
  7. $.post( "momsg.php",{ "tel":$( "#username").val()}, function(data){
  8. //alert(data);
  9. if(data== 0) //0 成功 1 不成功 2 手机号码格式不对
  10. {
  11. //
  12. }
  13. });
  14. }
  15. else
  16. {
  17. alert( '请输入正确的手机号码!');$( "#username").focus();
  18. }
  19. }


这个最核心的一句是$.post("momsg.php",{"tel":$("#username").val()}了

 

$('#xxx').load(url,para)

调用load方法的完整格式是:load( url, [data], [callback] ),

•url:是指要导入文件的地址。
•data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
•callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。

$("#content").load("你自己的网站下的xx.aspx");

   
   

 

在你的xx.aspx里使用WebRequest访问"http://www.baidu.com,将结果返回给js

一:如何使用data

1.加载一个php文件,该php文件不含传递参数

$("#myID").load("test.php");
   
   

//在id为#myID的元素里导入test.php运行后的结果

2. 加载一个php文件,该php文件含有一个传递参数

$("#myID").load("test.php",{"name" : "Adam"});

   
   

//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔

$("#myID").load("test.php",{"name" : "Adam""site":"61dh.com"});

   
   

//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=61dh.com

4. 加载一个php文件,该php文件以数组作为传递参数

$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});

   
   

//导入的php文件含有一个数组传递参数。
注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数





 

 

 


 


 

 

$.ajax()方法:https://www.w3school.com.cn/jquery/ajax_ajax.asp

$(选择器).load()方法:https://www.w3school.com.cn/jquery/jquery_ajax_load.asp

get()/post()方法:https://www.w3school.com.cn/jquery/jquery_ajax_get_post.asp

如果你觉得本人的文章对你有所帮助,客官慢走请赏瓶水喝
微信 支付宝
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值