简体   繁体   中英

json_encode return undefined

My script returns undefined value from my json_encode php

index.php

<?php
    $returnThis['user'] = "Robin098";
    $returnThis['id'] = "08465";

    echo json_encode($returnThis);
?>

sample.html

<head>
    <script>
        function clickHere(){
            $.get("index.php", function(data) {
            alert(data.user);
            });
        }

    </script>
</head>
       <body>
       <input type="button" onclick = "clickHere();" value="ClickHere!"/> 
       </body>

How can I fix this?

Use the jQuery.getJSON method instead of .get , if you want your JSON to be parsed. Also, make sure that the jQuery library is correctly loaded.

    function clickHere(){
        $.getJSON("index.php", function(data) {
            alert(data.user);
        });
    }

Currently, you're using $.get(url, function(data){...}) . In this context, data is a string containing the response from the server:

{"user":"Robin098","id":"80465"}

Using alert(data) inside the function will show this string.

It looks like you're setting up $returnThis , but then returning $aReturn . Don't you want:

$returnThis['user'] = "Robin098";
$returnThis['id'] = "08465";

echo json_encode($returnThis); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM