PHP中的未定义索引使用AJAX发布

在我的本地机器上,我正在尝试将数据从json保存到我的mysql数据库,我正在使用Wampserver。

在我的html页面(saveInfo.php)中,我有这个jquery代码:

 var jsObj = {"user_id":5, "login":"hsm"}; var jsonobj = JSON.stringify(jsObj); $.ajax({ type: "POST", url: "json_handler.php", data: { 'jsonobj':jsonobj }, success: function(){ alert('success'); window.location = "http://localhost/quranMapping/php/json_handler.php"; } });  

在另一方面,我有我的服务器端PHP代码( json_handler.php ):

 user_id; ?> 

但是当我运行该代码时,我收到此错误: 在此处输入图像描述

你应该删除这个:

 var jsonobj = JSON.stringify(jsObj); 

并改变

 data: { 'jsonobj':jsonobj }, 

 data: jsObj, 

在php端解码数据就好用

 $user_id = isset($_POST["user_id"])?$_POST["user_id"]:""; $login = isset($_POST["login"])?$_POST["login"]:""; 

也没有必要这样做

 $input = file_get_contents('php://input'); 

由于表单是以对象作为数据发布的,因此值为application/x-www-form-urlencoded因此它不是有效的json。