Jquery Post方法和JSON问题

时间:2013-12-20 20:34:25

标签: javascript php jquery json codeigniter

我正在使用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']));

我错了吗?

1 个答案:

答案 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运行。