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

php-从ajax调用获取json数据

我的问题是:我的PHP脚本如何发送json类型数据
并收到返回成功或完成的功能

我试图让this聊天功能在我的网站上工作
因为它不起作用,所以我在代码中创建了一个最小化部分以进行检查
如果与json方法有关.

我只测试了在处理PHPscript之后是否可以找回会话名称
我得到的是“未定义”而不是“ johndoe”.

我不知道可能是什么问题.
显然,如果您在创建者页面上看到注释,则该脚本对于其他脚本来说效果很好.

这是我的测试代码

<?PHP
session_start(); 
$_SESSION['username'] = "johndoe" ;// Must be already set
?>

<script type="text/javascript" src="includes/jquery.js"></script>
<script language="JavaScript">
$(document).ready(function(){
 $("#testjson").click(function(e){
 startJsonSession();

    return false;
    });


function startJsonSession(){  
    $.ajax({
        url: "jsontest.PHP?action=startjson",
        cache: false,
        dataType: "json",
        complete: function(data) {
            username = data.username;
            alert(username);
        }

    });
}


}); 
</script>

<?PHP
//the PHP script

if ($_GET['action'] == "startjson") { startjsonSession(); } 



function startjsonSession() {
    $items = '';


    /*if (!empty($_SESSION['openChatBoxes'])) {
        foreach ($_SESSION['openChatBoxes'] as $chatBox => $void) {
            $items .= chatBoxSession($chatBox);
        }
    }


    if ($items != '') {
        $items = substr($items, 0, -1);
    }*/

header('Content-type: application/json');
?>
{
        "username": "<?PHP echo $_SESSION['username'];?>",
        "items": [
            <?PHP echo $items;?>
        ]
}

<?PHP


    exit(0);
}

?>

谢谢,理查德

解决方法:

理查德,您应该研究PHP中的json_encode()函数.它将数组快速转换为JSON,并使您不必处理大量数据的JSON语法的细微差别.

更新:修改后的代码

<?PHP

    session_start(); 
    $_SESSION['username'] = "johndoe" ;// Must be already set

?>

<script type="text/javascript" src="includes/jquery.js"></script>
<script language="JavaScript">
$(document).ready(function(){

    $("#testjson").click(function(e){
        startJsonSession();
        return false;
    });

    function startJsonSession(){  
        $.ajax({
            url: "jsontest.PHP?action=startjson",
            cache: false,
            dataType: "json",
            complete: function(data) {
                username = data.username;
                alert(username);
            }

        });
    }

}); 
</script>

<?PHP

    if ($_GET['action'] == "startjson") { 
        startjsonSession(); 
    } 

    function startjsonSession() {
        $items = '';

        print json_encode(array(
            "username" => "bob",
            "items" => array(
                "item1" => "sandwich",
                "item2" => "applejuice"
            )
        ));
    }
?>

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

相关推荐