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。