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'],但结果似乎是一样的,我在这个解决方案中遇到了解析错误太棒了,非常感谢!当你说我必须在解码之前检查服务器端的内容,我必须做什么,我不明白。我必须检查收到的字符串,这是?嗯,我只是说,当你得到一个解析错误时,你应该通过查看原始输入进行调试。