我在ajax post之后检索json有困难

时间:2017-08-22 05:57:18

标签: javascript php jquery json ajax

嗨我是ajax post后检索json的初学者。我将json数据发布到php并想要检索json并在html控制台中显示.. 我遇到了一个问题..问题说明了

"Status Code: 200

ErrorThrown: SyntaxError: Unexpected token < in JSON at position 0

jqXHR.responseText:

C:\wamp\www\AbdWeb\AJAX6\jsonpass.php:3:
array (size=1)
  '{"PostCountry":"singapore","PostTime":"141253"}' => string '' (length=0)"

我想以json格式查看数据....如何解决此错误....

我的代码在下面找到.. 在html文件中

    <html>
    <head>
    <title> POST JSON DATA VIA AJAX</title>
    <script type="text/javascript" src="/Cesium-1.34/ThirdParty/jquery-
1.11.3.min.js"></script>

    </head>
    <body>
    <h2>Show JSON DATA</h2>
    <br />
    <br />
    <form>
    <input type="hidden" id="country" value="singapore" readonly>
    <input type="hidden" id="time" value="141253" readonly>
    <input type="button" value="submit me" onclick="showData();">
    </form>

    <div id="results"></div>
    <div id="resulte"></div>
    <h3>Look at the console. Click Ctrl + Shift + J to VIEW THE CONSOLE 
PAGE.
    </h3>
    <script type="text/javascript">
        var country = document.getElementById("country");
        var time = document.getElementById("time");
        var postData = {
            PostCountry: country.value,
            PostTime: time.value
        };
        function showData() {
            $.ajax({
                type: "POST",
                dataType:  "JSON",
                //contentType: 'application/json',
                url: "jsonpass.php",
                data: JSON.stringify(postData),
                success: function(data) {
                    console.log(data);
            },
                error: function(jqXHR, textStatus, errorThrown) {
                    alert("An error occurred... Look at the console (F12 or 
Ctrl+Shift+I, Console tab) for more information!");
                    $('#resulte').html('<p>Status Code: '+jqXHR.status+'</p>
<p>ErrorThrown: ' + errorThrown + '</p><p>jqXHR.responseText:</p>
<div>'+jqXHR.responseText + '</div>');
                    console.log('jqXHR:');
                    console.log(jqXHR);
                    console.log('textStatus:');
                    console.log(textStatus);
                    console.log('errorThrown:');
                    console.log(errorThrown);
                },
            });
        }
        </script>
    </body>
    </html>

在php文件中

<?php
    header('Content-Type: application/json');
    echo var_dump($_POST);
?>

我的代码是关于执行ajax post json数据到php脚本并在html控制台中查看数据..但我搞错了,我不知道如何做到这一点.. 我的问题是如何检索json数据并以json格式显示.....使用两个变量country和time .......请修复错误。请帮帮我......

2 个答案:

答案 0 :(得分:0)

您需要返回json数据,因此它应该像这样

echo var_dump($_POST);

echo json_encode($_POST);

答案 1 :(得分:0)

问题是返回的对象,它不是有效的JSON here,您将看到JSON对象的异常......您需要从PHP代码返回正确的JSON对象来解决问题。 Here you can find how need return JSON object PHP