Ajax发送json数据,后台用php处理。
本文介绍了Ajax发送json数据,后台用php处理。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
前端:
<body>
<button id="btn">提交</button>
<div id="container"></div>
<script type="text/javascript">
var json = {
"classid": 1,
"zlclass": "测试"
};
$("#btn").click(function() {
$.ajax({
type: "POST",
url:"form.php",
contentType:"application/json;charset=utf-8",
data: JSON.stringify(json),
error: function(request) {
alert("Connection error");
},
success: function(data) {
$("#container").html(data);
}
});
});
</script>
</body>
后端:
<?php
header("Content-type:text/html;charset=UTF-8");
$data=json_decode($_POST['data']);
echo($data);
?>
结果test.html没有看到返回值,报错。对于php后台接收json数据处于刚入门阶段,求指点
解决方案
A) 已你的前端为准,php端需要这样获取
$json = file_get_contents('php://input');
因为是发送的是json数据,所以并不存在$_POST['data']这个东西。
B) 已你的后端为准,前端需要这样发送
$.ajax({
type: "POST",
url:"form.php",
//contentType:"application/json;charset=utf-8",
data: {data: JSON.stringify(json)}, //使用普通的键值方式
error: function(request) {
alert("Connection error");
},
success: function(data) {
$("#container").html(data);
}
这篇关于Ajax发送json数据,后台用php处理。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文