前端:
<code><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></code>后端:
立即学习“PHP免费学习笔记(深入)”;
<code><?php
header("Content-type:text/html;charset=UTF-8");
$data=json_decode($_POST['data']);
echo($data);
?>
</code>结果test.html没有看到返回值,报错。对于php后台接收json数据处于刚入门阶段,求指点
前端:
<code><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></code>后端:
立即学习“PHP免费学习笔记(深入)”;
<code><?php
header("Content-type:text/html;charset=UTF-8");
$data=json_decode($_POST['data']);
echo($data);
?>
</code>结果test.html没有看到返回值,报错。对于php后台接收json数据处于刚入门阶段,求指点
A) 已你的前端为准,php端需要这样获取
<code>$json = file_get_contents('php://input');</code>因为是发送的是json数据,所以并不存在$_POST['data']这个东西。
B) 已你的后端为准,前端需要这样发送
<code> $.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);
}</code>
前端传的时候直接传json对象不用JSON.stringify处理
后端 $_POST['zlclass']; 接收就行
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
照你现在这样传的话估计得php://input中去取
<code>var json = {
"classid": 1,
"zlclass": "测试"
};
$("#btn").click(function() {
$.ajax({
type: "POST",
url:"form.php",
dataType:'JSON',
data: json,
error: function(request) {
alert("Connection error");
},
success: function(data) {
$("#container").html(data);
}
});
});</code>后台直接$data=$_POST['classid'];
<code>data:{
data:JSON.stringify(json)
}</code>
var_dump($_POST);看看里面有什么。。
我按照您的意思后台用:
<code>$data = json_decode($_POST['data'],true); echo($_POST['data']); </code>
接收到了数据:
前端代码:
<code> <script>
var json = {
"classid": 1,
"zlclass": "测试"
};
$.ajax({
type: "POST",
url:"http://localhost/ajax/json/test.php",
data: {data: JSON.stringify(json)},
error: function(request) {
alert("Connection error");
},
success: function(data) {
$("#container").append("<h2>传数据成功</h2>");
$("#container").append("<h2>"+"classid:"+data['classid']+",zlclass:"+data['zlclass']+"</h2>");
}
})
</script>
</code>不知道这样能解决您的问题吗?
ajax上传的不是json,data是json转化成的表单数据,直接var_dump($_POST),不要用json处理,json是做返回值用的。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号