我无法弄清楚问题出在哪里。 这是我发布JSON的JS函数:
function send(var1, var2) {
var result;
att = window.location;
$.ajax({
'crossDomain': true,
'type': 'POST',
'async': false,
'global': false,
'data': {
"event_id": var1,
"status": var2
},
'url': att + 'post.php',
'dataType': 'json',
success: function (data) {
result = data['result'];
}
});
}
在服务器端,这个(文件:post.php):
<?php
echo $_POST;
?>
仅打印“数组”。 问题是我必须以那种确切的格式发送“数据”(我无法对其进行字符串化,然后使用php json_decode()函数)。我也试过«file_get_contents(“php:// input”)»方式,但仍然没有。 我不明白问题是我无法正确发布json或我无法读取它的PHP端。 使用GET方法的实验很好。 抱歉我的英文不好,感谢大家的关注。
答案 0 :(得分:0)
要打印array
,您可以使用php中的print_r()
函数
<?php
print_r(json_encode($_POST)); //use json_encode() since dataType in ajax call is json
?>
要打印单个值,您可以使用echo()
<?php
echo(json_encode($_POST['event_id']));
?>
答案 1 :(得分:0)
尝试以下js函数:
function send(var1,var2) {
$(document).ready(function(){
$.ajax(
{
url:"post.php",
data:{event_id: var1,status: var2},
success:function (data, textStatus){
alert(data['status']);
},
type:"post",
dataType: 'json'
}
);
});
}
并在服务器端“post.php”:
echo json_encode($_POST);