我正在使用jquery和jason将数据发送到另一个控制器,但是当我发送数据时,我在火灾中检查它并且没关系,它正确地发送它但是在目标页面中,当我var_dump {{1 }或$_REQUEST
返回null。
顺便说一下,我正在使用codeigniter。
这是我的jquery代码:
$_POST
在我的控制器中:
<script type="text/javascript">
function GetMovieLanguageCategory(Language)
{
$.ajax({
type: "POST",
contentType: "application/json",
url: "/admin/movie/get_language_category",
data: JSON.stringify({"Language":Language}),
success: function(Data)
{
alert(Data);
},
failure: function(ErrorMsg) {
alert(ErrorMsg);
},
});
}
</script>
它返回:
var_dump($_REQUEST);
//var_dump(json_decode($_POST['Language']));
我错了吗?
答案 0 :(得分:3)
您正在发送JSON数据,但将其标记为application / x-www-form-urlencoded数据,并且您尝试将其解析为application / x-www-form-urlencoded数据。
变化:
data: JSON.stringify({"Language":Language}),
到
data:{"Language":Language},
让jQuery为你正确编码。
如果你想自己编码(不要!):
data: "Language=" + encodeURIComponent(Language);
如果确实想要发送JSON:
contentType: "application/json",
data: JSON.stringify({"Language":Language}),
然后,在PHP中,get the body of the request并通过json_decode
运行。