AJAX简单应用,提交和查询。

1月 10th, 2010

很久没有回来更新自己的BLOG了,真的是不知道写些什么,可是不写真的不知道自己的进步,因为转行了,所以很多新的东西要学习,那么从现在开始,我也要写一些简单的技术和教程记录了。

对了,忘记告诉很多朋友,我已经不是WEB设计师了,现在的目标职业是WEB前端开发工程师。

现在开始正文,我们先明确一下自己的准备。这篇教程属于初级教程,面对的是一点AJAX方面经验没有的和一些网页爱好者。

先看一下最终的成品效果图:

 

下面是一些准备工具的截图和下载地址:

http://www.designsor.com/download/jiaoxue/SmartApache.zip

集成了php,mysql,apache的傻瓜包,这里不单独讲解如何配置PHP环境。

http://www.designsor.com/download/jiaoxue/phpMyAdmin.zip

PHPmyadmin下载地址。

http://www.designsor.com/download/jiaoxue/jquery.rar

JqueryCHM手册和文件。

希望你能自己了解一下上面的工具的来源和具体作用,安装完全之后,请先测试本机是否可以运行PHP环境。

当然基本的PHP语法语句也不在这里讲解,我PHP也不太好,会用而已。请确定本机是否安装好了PHP环境,不论你用什么方法,请一定确认。也可以使用google.cn进行相关PHP环境搭建的教程!

HTML部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form>
<fieldset>
<legend>一个AJAX+PHP的POST表单</legend>
<label for="name">姓名:</label>
<input name="name" type="text" id="name"/>
<label for="work">工作:</label>
<input name="work" type="text" id="work"/>
<label for="age">年龄:</label>
<input name="age" type="text" id="age"/>
<input class="sub" type="submit" value="提交" />
<input class="rest" type="reset" value="重写" />
</fieldset>
</form>
<div id="list">
<h1>最新的一条录入</h1>
<div id="lastnews">小爝 前端开发工程师 22岁</div>
</div>

CSS部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
*{
margin:0px;
padding:0px;
font-family:Arial;
font-size:14px;
}
form,#list{
margin:20px;
}
fieldset{
width:300px;
padding:20px;
line-height:30px;
}
input{
border:#ccc solid 1px;
height:17px;
padding:2px;
}
.sub,.rest{
letter-spacing:2px;
height:22px;
}
#lastnews{
margin-top:10px;
}

下面HTML部分的基础工作已经做好。我们来建立我们的MYSQL数据库来储存我们的信息,表结构如下图。

很简单不做什么解释,如果看不懂可以自己google一些phpadmin的相关用法和一些数据库知识尝试。

下面开始编写PHP方面脚本,首先是连接数据库。

1
2
3
4
 $link=mysql_connect("localhost","root","gochina");
 mysql_select_db("www");
 mysql_query("set sql_mode = '' ");
 mysql_query("set names 'utf-8'");

然后是action的判断与数据操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 $action=$_GET['action'];
 $name=htmlspecialchars_decode($_GET['name']);
 $work=htmlspecialchars_decode($_GET['work']);
 $age=htmlspecialchars_decode($_GET['age']);
  //过滤一些不想要的标记,并接收下存入变量;
if($action=="add"){
 $exec = "INSERT INTO ajaxpost (name,work,age) VALUES ('$name','$work','$age')";
 $result = mysql_query($exec);
 //写入一条sql语句,执行储存功能;
 mysql_close();
 }
else if($action=="news"){
 $exec="select * from ajaxpost ORDER BY UID DESC limit 0,1";
 $result = mysql_query($exec);
 $post= mysql_fetch_array($result);
 echo "姓名:".$post['name']."职业:".$post['work']."年龄:".$post['age'];
 mysql_close();
 }

主要解释几点,就是用2个action来区别了下不同的ajax请求,常见的手段,这样一个页面可以通过一个action来做很多不同的响应反应。之后就是2个操作,一个储存,一个搜索。
之后下面是进行ajax的javascript代码,请写入下面代码前加载jquery的库文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$(function(){
$("form .sub").click(function(){
var name=$("input[name='name']").val();
var work=$("input[name='work']").val();
var age=$("input[name='age']").val();
//获得值
$.ajax({
type: "GET",
url: "ajax.php",
data: "action=add&name="+name+"&work="+work+"&age="+age,
success:function(){
update();
//添加成功后回调刷新的函数
 }
});
//阻止事件冒泡
return false;
});
//刷新的函数,又一个ajax请求
var update=function(){
 $.ajax({
 	type: "GET",
  	url: "ajax.php",
 	data: "action=news",
	cache: false,
 	success: function(msg){
   	$("#lastnews").html(msg);
  	}
});
//成功后把查询内容返回给容器。
}
});

差不多到这里我本地运行就已经成功了。这里提出一个小建议,最后的处理中文字符集问题,由于ajax的只支持utf-8编码,所以PHP文件,mysql数据库字符集和页面一定要统一编码,最后测试OK。
其实ajax也没什么难的,主要是jquery把它封装的比较傻瓜化,可以参见上面下载的那个chm手册有详细的一些说明。
代码写的比较烂,高手勿笑,我只是给个朋友做个范例。

秦皇岛雪福来乐驰分公司

10月 31st, 2009

页面详细DOME地址:http://www.designsor.com/demo/lechi/

关键词,图片替换文字,css sprites,jquery效果导航,自定义jquery轮播插件.

中兵FLASH DOMO

8月 24th, 2009

希望一次过搞,按照我自己的模式来做吧。求你了,我的客户。。

畅游台湾

8月 4th, 2009

活动频道页,想结婚去台湾的参加吧。

育人教育

7月 21st, 2009


没别的要求,尽快过稿。

webfou

7月 19th, 2009

能用的,会用的,可以用的,我能想到的JS都用上了。
纯JQuery网站,PHP+RSS+MYSQL聚合。
AJAX通过这个东西学到了很多,下周继续,2天其实没做什么就这么过去了。怀念学生时代充裕的时间。加油。

风尚一代

7月 15th, 2009

第一次制作的全FLASH网站,自己完全经手研究,PHP+JS+AS2.0组合完成,一路很多曲折,不管怎么样,这个站让我学会了很多。等下周上线,交上地址。与六间房合作的一个招商项目网站。其他更多活动页近期也会更新。

以上为部分设计稿,我完成的是交互部分和FLASH制作部分与整站构架实现。

达飞贷款

7月 1st, 2009

首页效果

迅达汽车

6月 8th, 2009

第一次做这个类型的网站,时间一个上午。

幸福百合

6月 7th, 2009

上周结束的一个网站,蹩脚啊。。


Dtools Top
本页文章快速定位...