我的问题是:我的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] 举报,一经查实,本站将立刻删除。