基于jquery ajax 用户无刷新登录方法详解
基于jquery ajax 用户无刷新登录方法详解
发布时间:2016-12-30 来源:查字典编辑
摘要:Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquer...

Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分,

实例1

复制代码 代码如下:

$.ajax({

type:'post',//可选get

url:'action.php',//这里是接收数据的PHP程序

data:'data='dsa',//传给PHP的数据,多个参数用&连接

dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html text等

success:function(msg){

//这里是ajax提交成功后,PHP程序返回的数据处理函数。msg是返回的数据,数据类型在dataType参数里定义!

},

error:function(){

ajax提交失败的处理函数!

}

})

PHP action.php

复制代码 代码如下:

<?php

echo 'www.jb51.net!';

?>

下面看个jquery ajax用户无刷新登录实例

实例2

复制代码 代码如下:

<html>

<head>

<title>jQuery Ajax 实例演示</title>

</head>

<script src="./js/jquery.js" type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function(){//这个就是jQueryready ,它就像C语言的main 所有操作包含在它里面

$("#button_login").mousedown(function(){

login(); //点击ID为"button_login"的按钮后触发函数 login();

});

});

function login(){ //函数 login();

var username = $("#username").val();//取框中的用户名

var password = $("#password").val();//取框中的密码

$.ajax({ //一个Ajax过程

type: "post", //以post方式与后台沟通

url : "login.php", //与此php页面沟通

dataType:'json',//从php返回的值以 JSON方式 解释

data: 'username='+username+'&password='+password, //发给php的数据有两项,分别是上面传来的u和p

success: function(json){//如果调用php成功

//alert(json.username+'n'+json.password); //把php中的返回值(json.username)给 alert出来

$('#result').html("姓名:" + json.username + "<br/>密码:" + json.password); //把php中的返回值显示在预定义的result定位符位置

}

});

//$.post()方式:

$('#test_post').mousedown(function (){

$.post(

'login.php',

{

username:$('#username').val(),

password:$('#password').val()

},

function (data) //回传函数

{

var myjson='';

eval('myjson=' + data + ';');

$('#result').html("姓名1:" + myjson.username + "<br/>密码1:" + myjson.password);

}

);

});

//$.get()方式:

$('#test_get').mousedown(function ()

{

$.get(

'login.php',

{

username:$('#username').val(),

password:$('#password').val()

},

function(data) //回传函数

{

var myjson='';

eval("myjson=" + data + ";");

$('#result').html("姓名2:" + myjson.username + "<br/>密码2:" + myjson.password);

}

);

});

}

</script>

<body>

<div id="result"></div>

<form id="formtest" action="" method="post">

<p><span>输入姓名:</span><input type="text" name="username" id="username" /></p>

<p><span>输入密码:</span><input type="text" name="password" id="password" /></p>

</form>

<button id="button_login">ajax提交</button>

<button id="test_post">post提交</button>

<button id="test_get">get提交</button>

</body>

</html>

php代码

复制代码 代码如下:

<?php

echo json_encode(array ('username'=>$_REQUEST['username'],'password'=>$_REQUEST['password']));

?>

使用jquery ajax优点与持缺点分析

优点

小,压缩后代码只有20多k(无压缩代码94k)。

Selector和DOM操作的方便:jQuery的Selector与mootools的Element.Selectors.js比较,CSS Selector, XPath Selector(1.2后已删除)

Chaining:总是返回一个jQuery对象,可以连续操作。

文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。

应用的广泛,包括google code也使用了jQuery。

使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery

核心的开发团队和核心人员:John Resig等。

简洁和简短的语法,容易记。

可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)

jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。

友好和活跃的社区:google groups:http://docs.jquery.com/Discussion

事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。

缺点

由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。

CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类