如何使用jquery的ajax方法将json字符串传输到另一个页面?

时间:2014-02-19 22:50:37

标签: javascript php jquery ajax json

我有一个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()函数中,但没有任何帮助。

1 个答案:

答案 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字符串。