Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery';将json字符串传输到另一个页面;什么是ajax方法?_Javascript_Php_Jquery_Ajax_Json - Fatal编程技术网

Javascript 如何使用jquery';将json字符串传输到另一个页面;什么是ajax方法?

Javascript 如何使用jquery';将json字符串传输到另一个页面;什么是ajax方法?,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我有一个JSON字符串(javascript中的字符串化对象数组),我打算将其发布到另一个页面,然后从$\u post变量中检索它。我使用了json=json.stringify(数组) 结果给了我以下字符串 json = [{"keycodec":68,"eventc":"keydown","timec":1392849542994} {"keycodec":65,"eventc":"keydown","timec":1392849543063}, {"keyc

我有一个JSON字符串(javascript中的字符串化对象数组),我打算将其发布到另一个页面,然后从
$\u post
变量中检索它。我使用了
json=json.stringify(数组)

结果给了我以下字符串

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

这方面如何:

$( "#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字符串。

“但是什么都没有显示”您似乎没有对Ajax调用的响应做任何处理。您是否使用过FireBug或Chrome dev工具等工具来查看Ajax请求的响应?您应该在请求的“响应”中看到print_r()语句的结果。正如@Felix King提到的,您没有处理ajax调用的成功响应。
dataType:json
必须添加到ajax调用中。还要使它成为
data:json
…而不是包装在
{}
@Vikram:No,那么PHP就不能工作了。数据仍然作为表单数据发送,因此您必须将其与键关联(“kite”是这里的键)。由于PHP代码不返回JSON,
dataType:'JSON'
是不正确的。