我有一个JSON字符串(javascript中的字符串化对象数组),我打算将其发布到另一个页面,然后从$_POST
变量中检索它。我使用了json =JSON.stringify(array)
。
结果给了我以下字符串
json = [{"keycodec":68,"eventc":"keydown","timec":1392849542994}
{"keycodec":65,"eventc":"keydown","timec":1392849543063},
{"keycodec":87,"eventc":"keydown","timec":1392849543084}]
现在我用
$( "#other").click(function() {
$.ajax({
url: 'some.php',
type: 'POST',
data: { kite : json}
});
在页面some.php我使用
$kite=json_decode($_POST['kite'],true);
print_r($kite)
但没有出现。我已经阅读了很多关于这个主题的链接,并尝试将ContentType,dataType,processData参数添加到$.ajax()
函数中,但没有任何帮助。
答案 0 :(得分:0)
这个怎么样:
$( "#other").click(function() {
var json = [{"keycodec":68,"eventc":"keydown","timec":1392849542994}
,{"keycodec":65,"eventc":"keydown","timec":1392849543063},
{"keycodec":87,"eventc":"keydown","timec":1392849543084}];
$.ajax({
url: 'test.php',
type: 'POST',
data: "kite=" + JSON.stringify({ kite : json }),
success: function(msg){
alert(msg);
},
failure: function(errMsg) {
alert(errMsg);
}
});
});
在您的PHP代码上:
<?php
$obj=json_decode($_POST['kite']);
print_r($obj->{'kite'});
?>
传递json的方式并不优雅.. 但是这样你仍然可以将“kite”捕获为post变量并解码你想要的json字符串。