javascript - Jquery Post方法和JSON问题

标签 javascript php jquery json codeigniter

我正在使用 jquery 和 jason 将数据发送到另一个 Controller ,但是当我发送数据时,我在 fire bug 中检查它,没有问题,它正确发送它,但在目标页面中,当我 var_dump $_REQUEST$_POST 返回 null。

顺便说一句,我正在使用 codeigniter。

这是我的 jquery 代码:

<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>

在我的 Controller 中:

var_dump($_REQUEST);
//var_dump(json_decode($_POST['Language']));

它返回:

array(0) {}

我有什么地方说错了吗?

最佳答案

您正在发送 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 运行它。

关于javascript - Jquery Post方法和JSON问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20711540/

相关文章:

javascript - Meteor + Mongo 平均计数

javascript - 函数返回 'undefined' 而它可以在函数体内得到正确的结果

javascript - 在 javascript 中使用相同的参数组成链式函数

php - apache 重启错误段错误 : 11 $HTTPD "$@"

javascript - 当 url 有一些参数时显示 Bootstrap 模式

php - 添加从数据库获取的数字

php - 谁能帮我如何在字符串中绑定(bind)变量?

php - jQuery 根据表行传递输入值

javascript - 仅显示 div 的事件处理程序

php - 将关联数组值获取到变量中,这是来自 cookie 的字符串格式