微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AJAX POST JSON到PHP在PHP中没有DATA

我无法通过jQuery Ajax发送$_POST数据.我已经阅读了有关此事的所有内容,但我仍无处可去.我甚至回到了非常基本的数据,但仍然没有,JSON数据已经使用 JSON验证站点进行了验证.对于我的生活,我无法回应/ print_r / var_dump或访问任何数据.

我的JavaScript

$('#updateJSON').click(function(){
    var content = [{
                        "id": 21,"children": [{
                            "id": 196
                        },{
                            "id": 195
                        },{
                            "id": 49
                        },{
                            "id": 194
                        }]
                }];
    var someText = "someText";
        $.ajax({
             type: 'POST',url: 'test.PHP',data: {data: content},cache: false,success: function(){  
                 alert("success");
                 console.log(content);
                 window.location = "test.PHP";
             },error:function(){
                 alert('ajax Failed');    
             }   
        }); 
});

我的PHP

<?PHP
if(isset($_POST['data'])) {
    $json = stripslashes($_POST['data']);
    var_dump(json_decode($json,true));
} else {
    echo "No Data";
}
?>

所以我确实得到了警报(“成功”),然后被重定向到test.PHP
一旦在test.PHP,我得到回声“无数据”.

提前感谢您对此问题的任何帮助.

解决方法

原因是您使用window.location重定向PHP文件(没有任何发布数据),而不是在test.PHP上发布表单.

您应该在test.PHP上发布没有ajax的表单.

或者在成功函数中使用test.PHP的响应.

$('#updateJSON').click(function(){
    var content = [{
                        "id": 21,{
                            "id": 194
                        }]
                }];
    var someText = "someText";


$.ajax({
         type: 'POST',success: function(response){  
             alert("success");
             console.log(response);
             //window.location = "test.PHP";
         },error:function(){
             alert('ajax Failed');    
         }   
  });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐