Heim >php教程 >php手册 >又是一周-AJAX(三)

又是一周-AJAX(三)

WBOY
WBOYOriginal
2016-07-06 13:31:04944Durchsuche

hi 我又食言了,但我还是厚颜无耻的回来了。。。 1、Ajax(三) 三、 AJAX 的简单的例子 3.1 简介 完成:查询员工信息,通过输入员工编号查询员工的基本信息+新建员工的信息,包含员工姓名,编号,性别,职位; 实现:纯html页面+php页面,用来实现查询员工

  hi

我又食言了,但我还是厚颜无耻的回来了。。。

1、Ajax(三)

三、AJAX的简单的例子

3.1 简介

完成:查询员工信息,通过输入员工编号查询员工的基本信息+新建员工的信息,包含员工姓名,编号,性别,职位;

实现:纯html页面+php页面,用来实现查询员工和新建员工的后台接口;

3.2 服务器端实现

我这里用的是wamp集合端,很多东西都不用变。

然后编写程序在adobe dreamwaverCs6

--DW

安装,网上有。

建立站点先,放在www文件夹下,然后服务器什么的也要自己整一下。

具体就是,站点就是个文件夹,在apache文件夹下就行,然后服务器地址记得写写清楚。最后保存之前,要把远程取消,勾选上测试。懒得放图片了,基本步骤很简单的。

其他就是php的内容了。

 --php代码

不再一步一步给出,直接给出。

//设置页面内容是html编码格式是utf-8
header("Content-Type: text/plain;charset=utf-8");
//header("Content-Type: application/json;charset=utf-8");
//header("Content-Type: text/xml;charset=utf-8");
//header("Content-Type: text/html;charset=utf-8");
//header("Content-Type: application/javascript;charset=utf-8");

//定义一个多维数组,包含员工的信息,每条员工信息为一个数组
$staff = array
(
array("name" => "洪七", "number" => "101", "sex" => "男", "job" => "总经理"),
array("name" => "郭靖", "number" => "102", "sex" => "男", "job" => "开发工程师"),
array("name" => "黄蓉", "number" => "103", "sex" => "女", "job" => "产品经理")
);

//判断如果是get请求,则进行搜索;如果是POST请求,则进行新建
//$_SERVER是一个超全局变量,在一个脚本的全部作用域中都可用,不用使用global关键字
//$_SERVER["REQUEST_METHOD"]返回访问页面使用的请求方法
if ($_SERVER["REQUEST_METHOD"] == "GET") {
search();
} elseif ($_SERVER["REQUEST_METHOD"] == "POST"){
create();
}

//通过员工编号搜索员工
function search(){
//检查是否有员工编号的参数
//isset检测变量是否设置;empty判断值为否为空
//超全局变量 $_GET 和 $_POST 用于收集表单数据
if (!isset($_GET["number"]) || empty($_GET["number"])) {
echo "参数错误";
return;
}
//函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
//global 关键词用于访问函数内的全局变量
global $staff;
//获取number参数
$number = $_GET["number"];
$result = "没有找到员工。";

//遍历$staff多维数组,查找key值为number的员工是否存在,如果存在,则修改返回结果
foreach ($staff as $value) {
if ($value["number"] == $number) {
$result = "找到员工:员工编号:" . $value["number"] . ",员工姓名:" . $value["name"] .
",员工性别:" . $value["sex"] . ",员工职位:" . $value["job"];
break;
}
}
echo $result;
}

//创建员工
function create(){
//判断信息是否填写完全
if (!isset($_POST["name"]) || empty($_POST["name"])
|| !isset($_POST["number"]) || empty($_POST["number"])
|| !isset($_POST["sex"]) || empty($_POST["sex"])
|| !isset($_POST["job"]) || empty($_POST["job"])) {
echo "参数错误,员工信息填写不全";
return;
}
//TODO: 获取POST表单数据并保存到数据库

//提示保存成功
echo "员工:" . $_POST["name"] . " 信息保存成功!";
}

--服务器端测试

通过工具实现——fiddler。

在fiddler主页面,右边有一个composer的标签页;

然后选择GET方式,写上我们文件的地址——localhost/AjaxDemo/server.php,点击执行/execute;

返回时参数错误,因为我们没有get什么数据;在地址后面跟上?number=101,再次执行,应该可以看到,101的详细信息,文件正确;

然后再次选择POST方式;则地址一栏就可以不填写参数,但再下面要写上Content-Type: application/x-www-form-urlencoded,告诉服务器要怎么做。在最下方写上数据,执行,就得到成功保存。

测试完毕,如果哪里有问题就去哪里改就是了。

这里的经验教训就是在web开发中,后台开发的测试,不要依赖前台的开发,独立完成先。

3.3 客户端的实现

明天说吧。。(又跑神去回忆幻世录了。。。。)

 


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn