Javascript Jquery Post方法和JSON问题
我正在使用jquery和jason将数据发送到另一个控制器,但是当我发送数据时,我在fire bug中检查它,结果很好,它正确地发送数据,但在目标页面中,当我变量转储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",
$\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发送数据,我使用的是压缩