Javascript ajax json php解码

Javascript ajax json php解码,javascript,php,json,Javascript,Php,Json,我正在寻找在服务器和客户端之间传递参数,但我没有找到解决方案。我读了所有的网页,但没有找到一个有效的解决办法 客户端 function move(column, line) { $.ajax({ type: 'POST', url: 'index.php?action=setpawn', data: {column: column, line: line}, contentType: "application/json; charset=utf-8", a

我正在寻找在服务器和客户端之间传递参数,但我没有找到解决方案。我读了所有的网页,但没有找到一个有效的解决办法

客户端

function move(column, line) {
$.ajax({
    type: 'POST',
    url: 'index.php?action=setpawn',
    data: {column: column, line: line},
    contentType: "application/json; charset=utf-8",
    async: false,
    success: function(data) {
        alert(data.donnees);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert(errorThrown+textStatus);
    }
});
}
服务器端

$data = json_decode(file_get_contents('php://input'),true);
header('Content-Type:application/json; charset=utf-8');
$response = array('isvalid' => "0" , 'donnees' => $data['column']);
echo json_encode($response);
我无法访问服务器上的“列”和“行”数据,json响应也不好(有时解析错误或错误结果)

请帮帮我,我找不到办法让它工作。。。
(很抱歉我英语不好,我是法国人,我已经尽力了)

jQuery默认情况下不使用JSON编码,而是使用
x-www-form-urlencoded
。你需要发送

$.ajax({
    type: 'POST',
    url: 'index.php?action=setpawn',
    data: JSON.stringify({column: column, line: line}),
//        ^^^^^^^^^^^^^^
    contentType: "application/json; charset=utf-8"
})

在服务器端检查
文件是否获取内容('php://input“)
是你所期望的,在
json\u解码它并得到一个解析错误之前。

$\u POST['column']
$\u POST['line']
中是什么?你已经阅读了所有的网页了吗?哇,同意杰伊的说法……你应该用那种方式获取信息。我从未见过文件内容与POST请求一起使用,除非是上传的文件,我不知道,因为我无法在json响应中传递$POST['column'],没有解析错误。我尝试过$POST['column'],但结果似乎是一样的,我在这个解决方案中遇到了解析错误太棒了,非常感谢!当你说我必须在解码之前检查服务器端的内容,我必须做什么,我不明白。我必须检查收到的字符串,这是?嗯,我只是说,当你得到一个解析错误时,你应该通过查看原始输入进行调试。