ajax案例源码
html文件中demo2_index.html
--------------------------------------------------------------------------------------------------------------------
<! DOCTYPE>
<html>
<head>
<meta charset= "utf-8" >
<title>Demo2 </title>
<style>
body, input, button, select, h1 {
font-size: 18px;
line-height: 1.8em;
}
</style>
</head>
<body>
<h1>员工查询</h1>
<label>输入员工编号:</label>
<input type= "text" id= "keyword">
<button id= "search">查询</button>
<p id= "searchResult"></p>
<h1>员工新建</h1>
<label>请输入员工姓名</label>
<input type= "text" id= "peopleName"> <br>
<label>请输入员工编号</label>
<input type= "text" id= "peopleNumber"> <br>
<label>请输入员工性别</label>
<select id= "peopleSex">
<option>男</option>
<option>女</option>
</select>
<br>
<label>请输入员工职位</label>
<input type= "text" id= "peopleJob"> <br>
<button id= "save">保存</button>
<p id= "createResult"></p>
<script>
document.getElementById( "search" ).onclick = function (){
//发送Ajax查询请求并处理
var request = new XMLHttpRequest();
request.open( "GET" ,"/ajax/demo2.php?number=" + document.getElementById("keyword" ).value);
request.send();
// 监听
request.onreadystatechange = function (){
if(request.readyState === 4){
if(request.status === 200){
document.getElementById( "searchResult" ).innerHTML = request.responseText;
} else {
alert( "发生错误:" + request.status);
}
}
}
}
document.getElementById( "save" ).onclick = function (){
var request = new XMLHttpRequest();
request.open( "POST" ,"/ajax/demo2.php" );//POST请求是隐藏的不需要显示参数
var data = "name =" + document.getElementById("peopleName" ).value
+ "&number=" + document.getElementById("peopleNumber" ).value
+ "&sex=" + document.getElementById("peopleSex" ).value
+ "&job=" + document.getElementById("peopleJob" ).value;
request.setRequestHeader("Content-Type" ,"application/x-www-form-urlencoded" );
request.send(data);
if(request.readyState === 4){
if(request.status === 200){
document.getElementById( "createResult" ).innerHTML = request.responseText;
} else {
alert( "发生错误:" + request.status);
}
}
}
</script>
<!--<script>
document.getElementById("search").onclick() = function();
var request = new XMLHttpRequest();
request.open("GET","demo2.php?number="+document.getElementById("keyword").value);
request.send();
request.onreadystatechange = function () {
if(request.state===4){
if(request.status===200){
document.getElementById("searchResult").innerHTML = request.responseText;
}else{
alert("参数错误:"+request.status);
}
}
}
</script>-->
</body>
</html>
---------------------------------------------------------------------------------------------------------------
php文件中demo2.php
<?php
/**
* Created by PhpStorm.
* User: moka
* Date: 2016/3/5
* Time: 5:22
*/
//设置页面内容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");
//定义一个多维数组
$people = 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 $people;
//获取number参数
$number = $_GET["number" ];
$result = "没有找到员工!" ;
//遍历$people多维数组,查找key值为number的员工是否存在,如果存在,则修改返回结果
foreach($people as $key){
if($key[ "number" ]==$number){
$result = "找到员工:员工编号:" .$key["number" ]."员工姓名:" .$key["name" ]."员工性别:" .$key["sex" ]."员工职位:" .$key["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" ]."信息保存成功!" ;
}
?>
ajax案例源码的更多相关文章
- AJAX JSONP源码实现(原理解析)
关于JSONP以及跨域问题,请自行搜索. 本文重点给出AJAX JSONP的模拟实现代码,代码中JSONP的基本原理也一目了然. <html xmlns="http://www.w3. ...
- android向web提交参数的4种方式总结,附带网站案例源码
第一种:基于http协议通过get方式提交参数 1.对多个参数的封装 public static String get_save(String name, String phone) { /** * ...
- java实现 swing模仿金山打字 案例源码
java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: <font size="3">im ...
- 免费赠送原创的opengl电子书教程和案例源码
免费赠送原创的opengl电子书和案例源码,有兴趣qq群 52391108 下面是一部分教程截图
- ThreadLocal 简介 案例 源码分析 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- APICloud案例源码、模块源码、考试源码、开发工具大集合!赶快收藏
APICloud专注于APP开发定制技术,多年来不停为开发者奉献更多的资源.此次,APICloud将以往的的资源进行更新.整合,以合集的形式分享给广大的用户. APICloud应用案例源码合集 API ...
- SpringBoot 项目搭建(详细介绍+案例源码)
SpringBoot 项目搭建 SpringBoot 项目整合源码 SpringBoot 项目整合 一.项目准备 1.1 快速创建 SpringBoot 项目 1.2 标准项目结构图如下 1.3 添加 ...
- 【h5+c3】web前端实战项目、快装webapp手机案例源码
快装WebApp项目(Web移动端开发案例)webapp移动端项目源码.html5+css3实战案例分享.微信端H5实例开发 简介快装WebApp是一个面向移动端的快速装修app,此项目为手机端:使用 ...
- 前后端交互之封装Ajax+SpringMVC源码分析
为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...
随机推荐
- Openvswitch原理与代码分析(6):用户态流表flow table的操作
当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table. 会调用ofproto-dpif-upcall.c中的udpif_upcall_hand ...
- Hadoop 生态系统
1.概述 最近收到一些同学和朋友的邮件,说能不能整理一下 Hadoop 生态圈的相关内容,然后分享一些,我觉得这是一个不错的提议,于是,花了一些业余时间整理了 Hadoop 的生态系统,并将其进行了归 ...
- WIN7,WIN8,WIN8.1,64位客户端使用32位的ODBC配置
运行64位的ODBC管理器,点开始-->运行-->odbcad32回车即可打开,但打开后看不到32位的驱动, 如果要运行32位的ODBC管理器,该怎么办呢,其实很简单, 只要执行C:\Wi ...
- English Metric Units and Open XML
English Metric Units and Open XML 在Open XML里使用了English Metric Units(EMUs)来作为度量单位.比如 public class Ext ...
- location.hash属性介绍
location.hash属性介绍 例如URL: http://wwww.a.com/index#rhythmk 通过location.hash 我们将获取到 #rhythmk. 默认浏览器会滚动至i ...
- HIVE: UDF应用实例
数据文件内容 TEST DATA HERE Good to Go 我们准备写一个函数,把所有字符变为小写. 1.开发UDF package MyTestPackage; import org.apac ...
- SNF开发平台WinForm之七-单据打印和使用说明-SNF快速开发平台3.3-Spring.Net.Framework
8.1运行效果: 8.2开发实现: 1. 先要创建.grf报表模版,指定数据列.存储位置:Reports\Template文件夹下 2. 之后在程序当中查出数据,之后把数据和打印模版 传入方法进行 ...
- 封装系统自带的Debug
Unity3d的Debug.Log函数用于打印日志,一般项目中都会对其作如下两件事情: (1)希望有一个总的开关来控制整个游戏中日志的打印与否: (2)有的系统会将Log封一层并添加统一的标记,比如S ...
- spring 配置多个数据源的文件
<?xml version="1.0" encoding="UTF-8"?><!-- Repository and Service layer ...
- IEE数据库kill指定条件的进程
需求:IEE数据库临时需要添加一个监控,将command为sleep,time>1800,info为null的进程自动杀掉. 1.杀进程脚本ieekill.sh内容如下 #!/bin/bash ...