Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 ajax不在同一页面上向php发送数组_Javascript_Php_Jquery_Ajax - Fatal编程技术网

javascript ajax不在同一页面上向php发送数组

javascript ajax不在同一页面上向php发送数组,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,关于这个话题,我想了很多,但我尝试的每个解决方案都有一些错误 在阅读了一些文章之后,我尝试创建一个jquery+ajax调用+php的简单演示,但它并没有在同一页面上通过post方法检索数组 我的剧本 var stuff ={'key1':'value1','key2':'value2'}; $("#btn").click(function(e) { e.preventDefault(); $.ajax({ type : 'POST', url

关于这个话题,我想了很多,但我尝试的每个解决方案都有一些错误

在阅读了一些文章之后,我尝试创建一个jquery+ajax调用+php的简单演示,但它并没有在同一页面上通过post方法检索数组

我的剧本

var stuff ={'key1':'value1','key2':'value2'};

    $("#btn").click(function(e) {

    e.preventDefault();
  $.ajax({
    type    : 'POST',
    url     : '3.php',
    data    : {result:JSON.stringify(stuff)},
    success : function(response) {
    console.log(response);            
    }    
});

});

php

编辑:成功的功能是好的,它给我的反应,但我不是通过邮政获得数据

但我没有收到任何错误,也没有收到任何数据,我如何跟踪我做错了什么?


<?php

if(isset($_POST['result'])) {
    $data    = $_POST["result"];
    $data    = json_decode("$data", true);
    echo "key1 : ".$data["key1"];
    die();
}

?>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<script>
var stuff ={'key1':'value1','key2':'value2'};


$( document ).ready(function() {

    $("#btn").click(function(e) {

    e.preventDefault();
  $.ajax({
    type    : 'POST',
    url     : '3.php',
    data    : {result:JSON.stringify(stuff)},
    success : function(response) {
        $('#result').html(response);
    }    
});

});

});

</script>



<input type='button' id='btn' value='RUNN'>


<div id='result'></div>
var stuff={'key1':'value1','key2':'value2'}; $(文档).ready(函数(){ $(“#btn”)。单击(功能(e){ e、 预防默认值(); $.ajax({ 键入:“POST”, url:'3.php', 数据:{result:JSON.stringify(stuff)}, 成功:功能(响应){ $('#result').html(响应); } }); }); });
添加错误处理程序->
$.ajax({options:here}).fail(function(){console.log(arguments)})并查看您得到了什么。您如何知道您没有得到任何数据?你检查过浏览器控制台的“网络”选项卡了吗?你在
success
函数中没有做任何事情,那么你在这里期待什么呢?你的代码没问题,我添加了
success:function(response){alert(response);}
并显示key1值。试着从铬上检查。。并通过网络查看3.php的任何响应。不要忘记
$(文档)。在
$(“#btn”)之前准备好(function(){
)。单击(function(e)
你所说的毫无意义。如果你没有发送POST数据,你将不会得到响应。解释“但我不是通过POST获取数据”我更新了代码,添加了div=results和
$('#result')。html(响应)
您想显示这个吗?
<?php

if(isset($_POST['result'])) {
    $data    = $_POST["result"];
    $data    = json_decode("$data", true);
    echo "key1 : ".$data["key1"];
    die();
}

?>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<script>
var stuff ={'key1':'value1','key2':'value2'};


$( document ).ready(function() {

    $("#btn").click(function(e) {

    e.preventDefault();
  $.ajax({
    type    : 'POST',
    url     : '3.php',
    data    : {result:JSON.stringify(stuff)},
    success : function(response) {
        $('#result').html(response);
    }    
});

});

});

</script>



<input type='button' id='btn' value='RUNN'>


<div id='result'></div>