这是我的jquery
代码:
var jsObj = {"user_id":5, "login":"hsm"};
var str_json = JSON.stringify(jsObj);
$.post("json_handler.php", str_json)
.done(function(){
alert('data sent successfully');
window.location = "http://localhost/quranMapping/php/json_handler.php";
})
.fail(function(){
alert('fail');
});
注意:我进行了重定向以查看问题所在。
这是我的PHP代码(json_handler.php
文件):
<?php
//create a DB connection
$con=mysqli_connect("127.0.0.1","root","","my_db");
$input = file_get_contents('php://input');
$result = json_decode($input);
echo $result->user_id;
mysql_close($con);
?>
由于错误看了附图,
我如何纠正这个问题?
更新:当我使用$input = $_POST['str_json']
时,错误为undefined index
答案 0 :(得分:1)
json_decode可能失败,返回NULL
值。请var_dump($result)
和var_dump($input)
查看您从客户端和json_decode获取的内容。
答案 1 :(得分:0)
为什么不尝试使用
时:
var jsObj = {"user_id":5, "login":"hsm"};
var str_json = JSON.stringify(jsObj);
$.post("json_handler.php", {"str_json" :str_json})
.done(function(){
alert('data sent successfully');
window.location = "http://localhost/quranMapping/php/json_handler.php";
})
.fail(function(){
alert('fail');
});
PHP:
<?php
//create a DB connection
$con=mysqli_connect("127.0.0.1","root","","my_db");
$input= $_POST['str_json']
$result = json_decode($input);
echo $result->user_id;
mysql_close($con);
?>