1、首先安装配置php集成环境。以phpstudy为例。
创新互联是一家专注于成都网站制作、网站建设与策划设计,顺庆网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:顺庆等地区。顺庆做网站价格咨询:13518219792
2、在www目录下新建一个html文件(new1.html),和一个php(ab.php)文件。
3、html文件先引用所需的类库jquery文件,其次在body部分,以一个简单的表单提交为例。
4、html的javascript-ajax部分,以上步body中的cilik事件为例。
5、php文件的编写部分,主要使用$_POST来接受ajax传输的数据,并可以返回不同类型的数据。如echo结果或者json_encode转码成为json格式的数据返还给前端做处理。
6、结果展示:表单中的内容在提交后,无刷新展示了出来。
==========前端============
form action="__URL__/add" metod="post"
input type="text" name="username"
/form
======================
class UserAction extends action{
public function add(){
$username=$this-_post("username");
//或者
$username=$_POST['username'];
}
}
?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?
script src="js/jquery-1.7.2.min.js"/script
script type="text/javascript"
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2个参数必须是键值对形式
alert(res);
});
});
});
/script
input id="xx" type="button" value="点击"
PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
前端用JQ 生成一个有字段名和值格式的键值对 的JSON 格式的字串 转码后 提交给后台的PHP 处理
代码如下
json_data+="\"emp_id\":\""+emp_id+"\",\"action_type\":\""+action_type+"\"})"
// $("#emp_no_id").val(json_data);
var json_data1=eval(json_data);
// var json_data1=json_data;
// $.each(json_data1,function(item,value){
// alert(item+value);
// });
$.ajax({
type: "post",//使用post方法访问后台
dataType: "text",//返回json格式的数据
url: "updata_emp.php", //要访问的后台地址
data:json_data1,
ontentType:'utf8',
async:false,
success: function(msg){//msg为返回的数据,在这里做数据绑定