?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="点击"
你无法传json对象到服务端交互的,要传的只是一个字符串(Json),是个字符串!
你发的代码里是json的解析,没有多大意义,你在php页面这样调试
var_dump($_REQUEST);//输出所有数据,如果存在的话,你会看到那个参数是啥
另外,json格式,主要方便javascript解析的,而不是php擅长的内容,多数情况下,是PHP返回json数据给js.
php的数组操作函数有主要的两个json_encode()与json_decode();
从你的代码中,我不确定你用何种方式通信,ajax?
我看你用到了jQuery,那里面有个ajax,方式类似这样的:
$.ajax({
type: "post", //method;can be get with post or request
url: "/mySever.php",//php url
error: function(){alert('Error');},
data: {
data1: name,
data2: age,
},
datatype:"json",//json back
timeout: 5000,
success: function(msg)
{
//eval(msg);//parase here
}
});
return false;
}
三中接受方式:
$_GET //get过来的数据
$_POST //post过来的数据
file_get_contents("php://input") //接口过来的xml等字符串数据用这个接
这三个方法足以接受任何数据了,具体你还要百度一下用法