php - AJAX POST JSON 到 PHP 问题 PHP 中没有数据

标签 php

我在通过 jQuery Ajax 发送 $_POST 数据时遇到问题。我已经阅读了我能找到的关于此事的所有内容,但我仍然一无所获。我什至回到了非常基本的数据,但仍然一无所获,JSON 数据已经使用 JSON 验证站点进行了验证。在我的生活中,我无法echo/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";
}
?>

所以我得到了 alert("success"),然后被重定向到 test.php 一次在 test.php 我得到回显“无数据”。

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

最佳答案

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

您应该在没有 ajax 的情况下发布表单在 test.php .

或使用来自 test.php 的响应在你的success功能。

$('#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(response){  
             alert("success");
             console.log(response);
             //window.location = "test.php";
         },
         error:function(){
             alert('ajax failed');    
         }   
  }); 

关于php - AJAX POST JSON 到 PHP 问题 PHP 中没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38684351/

相关文章:

javascript - 如何使用数据库列值作为引用,使用 PHP 重新排序(或创建新的)Javascript 数组

javascript - cakePHP项目中的Jquery Ajax请求返回禁止(403)

php - API 调用应该是 GET 还是 POST?

javascript - Symfony app_dev.php install\DOMDomain 错误

php - 我网站上的搜索模块出现问题

php - 如何在 MySQL 中批量插入具有两个唯一列的多行?

javascript - 删除功能不起作用 像这样的错误 JSON 解析错误 : Unexpected identifier "Param"

php - 从同一数据库行获取多个值

php - 如何从指向新页面的链接中获取选定的行

php - 如何检查数字 2D PHP 数组的值是否按 'incereasing' 、 'descending' 或 'mixed' 顺序排列?