javascript - 无法使用 JSON 从 JQuery Ajax post 获取 PHP 数据

标签 javascript php jquery json http-post

我正在尝试一个简单的测试来了解 JQuery Ajax POST 方法,并且我在我的服务器上设置了一个小示例。但是我无法工作。

我的 JavaScript 如下:

JavaScript:

var json = {"Num String":"2","Num":3,"Num":11,"Num":2,"Num":"?"};
$.ajax({
        type: "POST",
        url: "sampleJSONPost.php",
        data: json, //Data to POST to the server
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function (jqXHR, status, err) {
            console.log("Error " + err + " " + status + " " + JSON.stringify(jqXHR)); //Log the Error 
        },
        success: function (data, status, jqXHR) {  
              console.log(JSON.stringify(data)); //Log the Data returned
              $("span").text(data);
        }
    });
};

这是我的 PHP:

PHP:

<?php
$data = $_POST["data"];
echo json_decode($data);
?>

但是这总是给我带来以下错误:

Error SyntaxError: Unexpected end of input parsererror {"readyState":4,"responseText":"","status":200,"statusText":"OK"} 

所以对我来说,PHP 中的 $data 变量似乎没有获取我通过 POST 发送的 JSON,这是正确的吗?如果是这样,任何人都可以帮我找出问题所在吗?我已经尝试过许多其他解决方案,但没有成功,所以我一定错过了一些简单的东西?

最佳答案

更改为

var json = {"data":{"Num String":"2","Num":3,"Num":11,"Num":2,"Num":"?"}};

关于javascript - 无法使用 JSON 从 JQuery Ajax post 获取 PHP 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531818/

相关文章:

javascript - 保存弹出窗口的 preventDefault 在 chrome 中有效,但在 firefox 中无效

javascript - 用户创建新帖子时发布到墙上的错误

php - 将 Javascript 函数转换为 PHP 函数

php - 我想使用 PHP 更新 MySQL 数据库表

jQuery ajax done() 被多次调用

javascript - 在我的代码中按下单选按钮后, block 内联没有出现

javascript - 如何将输入字段设置为在 TD 中使用 100% 的可用宽度,减去 X 像素数?

javascript - console.log 在 chrome.runtime.onMessage.addListener 中不起作用

javascript - 图像调整大小以适合屏幕

php - 将 Gps 作为后台服务运行并将坐标发送到 Web 服务器 (PHP)