Javascript Jquery Post方法和JSON问题

Javascript Jquery Post方法和JSON问题,javascript,php,jquery,json,codeigniter,Javascript,Php,Jquery,Json,Codeigniter,我正在使用jquery和jason将数据发送到另一个控制器,但是当我发送数据时,我在fire bug中检查它,结果很好,它正确地发送数据,但在目标页面中,当我变量转储$\u请求时或$\u POST返回空值 顺便说一下,我用的是codeigniter 这是我的jquery代码: <script type="text/javascript"> function GetMovieLanguageCategory(Language) { $.ajax({ type: "POST",

我正在使用jquery和jason将数据发送到另一个控制器,但是当我发送数据时,我在fire bug中检查它,结果很好,它正确地发送数据,但在目标页面中,当我变量转储
$\u请求时
$\u POST
返回空值

顺便说一下,我用的是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>
它返回:

array(0) {}

我哪里错了吗?

您正在发送JSON数据,但将其标记为application/x-www-form-urlencoded数据,并尝试将其解析为application/x-www-form-urlencoded数据

更改:

data: JSON.stringify({"Language":Language}),

让jQuery为您正确地编码它


如果您想自己编码(不要!):


如果您确实想发送JSON:

contentType: "application/json",
data: JSON.stringify({"Language":Language}),

然后,在PHP中,通过
json\u decode

运行它,您发送的是json数据,但将其标记为application/x-www-form-urlencoded数据,并尝试将其解析为application/x-www-form-urlencoded数据

更改:

data: JSON.stringify({"Language":Language}),

让jQuery为您正确地编码它


如果您想自己编码(不要!):


如果您确实想发送JSON:

contentType: "application/json",
data: JSON.stringify({"Language":Language}),

然后,在PHP中,通过
json\u decode

运行它,您发送的是json数据,但将其标记为application/x-www-form-urlencoded数据,并尝试将其解析为application/x-www-form-urlencoded数据

更改:

data: JSON.stringify({"Language":Language}),

让jQuery为您正确地编码它


如果您想自己编码(不要!):


如果您确实想发送JSON:

contentType: "application/json",
data: JSON.stringify({"Language":Language}),

然后,在PHP中,通过
json\u decode

运行它,您发送的是json数据,但将其标记为application/x-www-form-urlencoded数据,并尝试将其解析为application/x-www-form-urlencoded数据

更改:

data: JSON.stringify({"Language":Language}),

让jQuery为您正确地编码它


如果您想自己编码(不要!):


如果您确实想发送JSON:

contentType: "application/json",
data: JSON.stringify({"Language":Language}),



然后,在PHP中,通过
json\u decode

运行它,我看不出您的代码中有任何会导致出现问题的错误。但是请注意,
failure
应该是
error
您是否有其他类似的脚本通过post接受json字符串?我想知道是否有一些设置或.htaccess条目干扰了您的请求。没有,我尝试了
contentType:“application/json”
,但没有帮助!我使用的是codeigniter,其中有关于htaceess的内容吗?jason?
$\u请求只有在您以POST或GET的形式发送查询字符串时才会填充。你没有那样做。您需要读取原始帖子正文:
$postBody=file\u get\u contents('php://input');  echo$postBody。我看不出您的代码有任何会导致您出现问题的错误。但是请注意,
failure
应该是
error
您是否有其他类似的脚本通过post接受json字符串?我想知道是否有一些设置或.htaccess条目干扰了您的请求。没有,我尝试了
contentType:“application/json”
,但没有帮助!我使用的是codeigniter,其中有关于htaceess的内容吗?jason?
$\u请求只有在您以POST或GET的形式发送查询字符串时才会填充。你没有那样做。您需要读取原始帖子正文:
$postBody=file\u get\u contents('php://input');  echo$postBody。我看不出您的代码有任何会导致您出现问题的错误。但是请注意,
failure
应该是
error
您是否有其他类似的脚本通过post接受json字符串?我想知道是否有一些设置或.htaccess条目干扰了您的请求。没有,我尝试了
contentType:“application/json”
,但没有帮助!我使用的是codeigniter,其中有关于htaceess的内容吗?jason?
$\u请求只有在您以POST或GET的形式发送查询字符串时才会填充。你没有那样做。您需要读取原始帖子正文:
$postBody=file\u get\u contents('php://input');  echo$postBody。我看不出您的代码有任何会导致您出现问题的错误。但是请注意,
failure
应该是
error
您是否有其他类似的脚本通过post接受json字符串?我想知道是否有一些设置或.htaccess条目干扰了您的请求。没有,我尝试了
contentType:“application/json”
,但没有帮助!我使用的是codeigniter,其中有关于htaceess的内容吗?jason?
$\u请求只有在您以POST或GET的形式发送查询字符串时才会填充。你没有那样做。您需要读取原始帖子正文:
$postBody=file\u get\u contents('php://input');  echo$postBody
。如果这是问题所在,使用
contentType:“application/json”
将允许他通过
$\u请求访问它,不是吗?我的印象是jquery会在请求体中发送数据,php会让您通过
$\u request
访问它,但我想使用jason发送数据,我使用的是压缩,如果我不使用jason编码,它就不会work@KevinB-否。PHP不会自动解码JSON请求。否,不会自动解码,我希望它能为您提供原始json,正如您所指出的那样,只是不在
$\u REQUEST
@MasOud中-我已经用如何发出json请求的说明更新了答案。(注意“JSON”不是“jason”,它不是与Kylie约会的歌手兼词曲作者)。我不认为这对压缩它有什么影响。如果是这样的话,使用
contentType:“application/json”
将允许他通过
$\u请求访问它,不是吗?我的印象是jquery将在请求体中发送它,php将通过
$\u request
让您访问它,但我想使用jason发送数据,我使用的是压缩